我想執行的PL/SQL這個腳本但它一直得到錯誤的腳本Exec的其他腳本
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;
/
什麼是錯。
Error: ORA-06550: line 5, colunm 3: (...) ORA-06550: line 6, colunm 3: (...) ORA-06550: line 7, colunm 3: PLS-00103: Encountered the symbol "@" when expecting one of the following: (begin case declare end exception exit for goto if loop mod null pragma raise return select update while with... and 06550. 00000 - "line %s, column %s:\n%s" *Cause: Usually a PL/SQL compilation error. *Action:
'@'不是SQL(或PL/SQL)命令。這是一個SQL \ * Plus命令,只能在SQL \ * Plus命令提示符下使用。 **不**在PL/SQL內部(因爲它在**服務器上運行**而不是在客戶端上運行) –
解決方法是什麼? –
可以使用其他腳本創建存儲過程,然後可以通過此塊運行,或者在其他每個腳本中實現錯誤處理。我會傾向於第二,除非這個呼叫結構是一個堅定的要求。 –