Witam,
Próbuję zrobić następującą rzecz. W tabeli TABELA w dwóch kolumnach mam nazwy innych tabel.
Chcę dla każdej pary takich tabel wyświetlić wspólne wiersze po określonej kolumnie.
dbms_output.put_line zwraca poprawnie zapytanie ale execute immediate nie robi nic. Dlaczego?
Czy da się to zrobić tym sposobem poprawiając co nieco czy jest to niemożliwe i muszę kopiować wygenerowane zapytania i uruchamiać niezależnie?
SET SERVEROUTPUT ON ESCAPE OFF
SET serveroutput on size 10000
DECLARE
ss VARCHAR2(500);
BEGIN
FOR ww in (select * from TABELA)
LOOP
ss:='select * from '||ww.kolA||', '||ww.kolB||' where ww.kolB.aa=ww.kolB.bb'
dbms_output.put_line(ss);
EXECUTE IMMEDIATE ss;
END LOOP;
END;