これはばかげた考えかもしれません。dbms_output.put_line を使用して新しい .sql スクリプトを生成する Windows バッチ ファイルから呼び出すことができる SQL*Plus .sql スクリプトを作成しようとしています。これは、これまでのスクリプトの内容です。
set echo off;
set serverout on;
conn user@pass;
spool E:\new_script.sql
DECLARE
CURSOR c_groups IS
SELECT * FROM table;
s varchar2(4000);
BEGIN
dbms_output.put_line('BEGIN');
FOR x IN c_groups LOOP
s := 'INSERT INTO TABLE blah VALUES ('''||x.name||''','||x.id||');';
END LOOP;
dbms_output.put_line(s);
dbms_output.put_line('COMMIT;');
dbms_output.put_line('END;');
dbms_output.put_line('/');
END;
/
spool off;
exit;
ただし、これを行うと、「PL/SQLプロシージャが正常に完了しました」new_script.sql
とだけ表示されます。実際にメッセージを表示 する方法はありますか?dbms_out.put_line
そして、私は実際に挿入ステートメントを作成するためにこれを行っているわけではありません。これらは、私がやろうとしていることの要点を示す単純なサンプルです。