Ich versuche, alle Tabellen zu erhalten, wo bank_id 01. ist ich geschrieben habe den folgenden BlockWhere-Klausel in dynamischem SQL
DECLARE
cursor cBankId is
select owner||'.'||table_name from all_tab_columns where column_name = 'BANK_ID';
v_table all_tab_columns.table_name%TYPE;
vcount varchar2(50);
BEGIN
open cBankId;
loop
fetch cBankId into v_table;
exit when cBankId%notfound;
execute immediate 'select count(*) from ' || v_table into vcount || ' where bank_id = 01';
IF vcount > 0 THEN
DBMS_OUTPUT.PUT_LINE (v_table);
END IF;
end loop;
close cBankId;
END;
Ich möchte wissen, wie zu setzen, wo Klausel in der unmittelbaren Anweisung auszuführen. Ich erhalte den Fehler ORA-06550: Zeile 15, Spalte 67: PLS-00103: Das Symbol "|" wenn einer der folgenden Werte erwartet wird:
. (,%; Rückkehr Rückkehr
Sie eine Variable für den Tabellennamen verwenden können, auch tut dies Vorspiel rk? – Aleksej