0
我想在一個oracle過程中使用綁定變量,並且遇到錯誤。下面是我使用的代碼:在PL SQL腳本中使用綁定變量問題
DECLARE
sql_stmt varchar2(4000);
parm1 varchar2(100);
parm2 varchar2(100);
parm3 varchar2(100);
parm4 varchar2(100);
BEGIN
parm1 := 'test1';
parm2 := 'test2';
parm3 := 'test3';
parm4 := 'test4';
sql_stmt := ‘EXEC PROCESS_ARCHIVE.START_PROCESSARCHIVE(CHR(39)||:1||CHR(39),null, CHR(39)||:2||CHR(39), CHR(39)||:3||CHR(39), CHR(39)||:4||CHR(39))’;
EXECUTE IMMEDIATE sql_stmt using parm1,parm2,parm3,parm4;
END;
/
當此執行,我得到的錯誤:「SP-0552:綁定變量‘4’未聲明」。我是PL \ SQL的初學者,所以我仍然在學習,但我無法弄清楚這個錯誤來自哪裏。任何幫助將不勝感激。謝謝。
不知道是否可以幫助,但爲什麼是字符串的報價太奇怪了(不只是撇號)以及爲什麼在該字符串中包含'EXEC'語句?畢竟,如果你想調用這樣一個簡單的過程,你完全不需要使用動態SQL。 – AndrewMcCoist