【发布时间】:2013-08-24 04:31:26
【问题描述】:
这可能是个愚蠢的想法。我正在尝试编写一个 SQL*Plus .sql 脚本,我可以从 Windows 批处理文件中调用该脚本,该文件本身使用 dbms_output.put_line 生成一个新的 .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;
但是,当我这样做时,我的 new_script.sql 只是说 “PL/SQL 过程已成功完成。” 有什么想法可以让 dbms_out.put_line 实际显示他们的消息吗?
我实际上并没有这样做来构建插入语句 - 这些只是一个简单的示例,显示了我正在尝试做的事情的要点。
【问题讨论】:
标签: oracle sqlplus dbms-output