我想在PL / SQL中执行此脚本,但它不断收到错误
set serveroutput on;
set echo on;
declare
v_code varchar2(250);
v_errm varchar2(250);
begin
@@"1.sql";
@@"2.sql";
@@"II_load_438865311678_Reg.sql";
exception
when others then
v_code := sqlcode;
v_errm := substr(sqlerrm, 1, 64);
DBMS_OUTPUT.PUT_LINE('ERROR! - '||DBMS_UTILITY.FORMAT_ERROR_STACK|| DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
rollback;
end;
/
这有什么问题。
错误:ORA-06550:第5行,第3行:(...)ORA-06550:第6行,第3行: (...)ORA-06550:第7行,第3行:PLS-00103:遇到符号 " @"期待以下之一时:(开始案例声明结束 goto的异常退出if loop mod null pragma raise return select 用......和更新 06550. 00000 - "行%s,列%s:\ n%s" *原因:通常是PL / SQL编译错误。 *操作:
答案 0 :(得分:0)
您只使用PL / SQL代码来显示错误。这不是必要的; SQL * Plus已经向您显示任何SQL错误。使用whenever sqlerror
来触发回滚。
whenever sqlerror continue rollback
@@"1.sql"
@@"2.sql"
@@"II_load_438865311678_Reg.sql"