我在这里尝试动态PL / SQL事情。我无法获取列动态查询。我正在迭代列的名称以连接完整查询,以便在另一个表上执行。
sql_req := 'select ';
for c in (SELECT name_col from TAB_LISTCOL)
loop
sql_req := sql_req || 'sum(' || c.name_col || '),';
end loop;
sql_req := sql_req || ' from ANOTHER_TAB ';
并且当我尝试使用EXECUTE IMMEDIATE或游标或INTO / BULK COLLECT东西执行它或只是为了获取它时,我无法对结果进行迭代。我试了很多你能帮我一下吗?还是不可能?
ps:我知道昏迷是错误的,但是我的代码比这更复杂:我不想放更多东西
如果只想获取字符串列,则可以使用listagg
select listagg(name_col, ',') WITHIN GROUP (ORDER BY null) from TAB_LISTCOL