++++++++++++++++++++++++++++++++sqlplus调用.sql+++++++++++++++++++++++++++++++++
登陆sqlplus
sqlplus / as sysdba
sql>@D:test.sql
--------------------------------test.sql----------------------------------------
set echo off
--打开DBMS_OUTPUTlog
set serveroutput on
--spool log 将显示到控制台上的内容出力到log文件里
spool on
--spool log 出力位置
spool C:\test.lst
WHENEVER SQLERROR EXIT 2 ROLLBACK
--非过程语句写到BEGIN END 之外
select * from aoan.testTBL;
DECLARE
allKensu NUMBER;
--过程语句写到BEGIN END 块里
BEGIN
select count(*) into allKensu from aoan.table1;
--
DBMS_OUTPUT.PUT_LINE('count:' || allKensu);
END;
/
set serveroutput off
spool off
--结束sqlplus否则执行完后一直停留在sqlplus状态,如果是从shell中调用的则必须要有exit否则shell永远等待sqlplus的结束
exit sql.sqlcode
--------------------------------------------------echo off状态下的spool log------------------------------------------------------------------------
安全化実施
- ----------

本文介绍了如何使用Oracle SQLPlus登录并调用.sql文件,通过设置DBMS_OUTPUT和spool功能将输出重定向到日志文件。示例中展示了在echo off和echo on状态下执行SQL脚本的差异,并给出了通过bat批处理文件调用.sql文件并捕获返回值的方法。
最低0.47元/天 解锁文章
1581

被折叠的 条评论
为什么被折叠?



