【发布时间】:2017-09-26 14:11:56
【问题描述】:
我需要验证转换后的数据、不同的值和记录数。我想编写语句,以便我可以输入表名,然后检索它的列并在查询中使用它们来获取其不同的值(实际值,而不仅仅是有多少不同的计数)及其计数。
我想我需要一个 CURSOR 或 CURSOR FOR LOOP 并创建这样的东西:
declare
cursor field_name
is
select COLUMN_NAME
from user_tab_cols
where table_name='TABLE1'
c_field_name field_name%ROWTYPE;
BEGIN
OPEN field_name
loop
fetch field_name INTO c_field_name;
exit when field_name%NOTFOUND;
end loop;
CLOSE field_name;
end;
然后使用上述类似的方式运行查询
select field_name, count(*)
from table1
group by field_name
我需要创建 2 个循环语句吗?到目前为止,我还没有创建一个,也无法完全了解获得结果的上下文。
【问题讨论】:
-
是否有什么东西阻止您在 2 个查询中获取不同的值和计数,然后将它们连接到一个关键字段上?在进行多个循环之前,我会尝试使用动态 SQL。
-
如果您可以编辑以显示一些示例输出,您可能期望这些示例输出仅用于一张表,这可能更好地说明您想要实现的目标。
标签: sql oracle for-loop plsql cursor