私は私が実行即時文でwhere句を配置する方法を知りたい、次のブロック動的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;
を書かれているbank_idが01 あるすべてのテーブルを取得しようとしています。 エラーが発生します ORA-06550:行15、列67: PLS-00103:シンボル "|"が検出されました。次のいずれかを予期している場合:
(、%;あなたが動的に使用代わりに、テーブル名に変数を使用することはできません
あなたは、テーブル名に変数を使用できます。また、これはヲありませんrk? – Aleksej