Sql 循环浏览表列列表,并对其应用查询
我们有一个表mytable,它包含以下列:id、value、description 现在,我想将此sql查询应用于每一列:Sql 循环浏览表列列表,并对其应用查询,sql,oracle,Sql,Oracle,我们有一个表mytable,它包含以下列:id、value、description 现在,我想将此sql查询应用于每一列: select distinct [column] from mytable; 有办法做到这一点吗 注意。我想提供要循环的列列表,而不是循环表中的每一列 您当然可以使用动态SQL生成查询。然而,你想对结果做什么?我们可以做什么假设,也就是说,我们可以假设表总是有N列吗?是否只想打开返回给调用方的三个sys_refcursor对象?您想对PL/SQL中的结果做些什么吗? d
select distinct [column] from mytable;
有办法做到这一点吗
注意。我想提供要循环的列列表,而不是循环表中的每一列 您当然可以使用动态SQL生成查询。然而,你想对结果做什么?我们可以做什么假设,也就是说,我们可以假设表总是有N列吗?是否只想打开返回给调用方的三个sys_refcursor对象?您想对PL/SQL中的结果做些什么吗?
declare
l_tab_name varchar2(32) := 'MY_TABLE';
begin
for c1 in (select t.column_name from user_tab_columns t where t.table_name = l_tab_name)
loop
execute immediate 'select distinct ' || c1.column_name || ' from ' || l_tab_name;
end loop;
end;