declare
sd varchar2(30);
v1 number(3,2);
v2 number(3,2);
b1 number(3,2);
b2 number(3,2);
b3 number(3,2);
b4 number(3,2);
b5 number(3,2);
b6 number(3,2);
b7 number(3,2);
begin
sd:='secondary education';
execute academics_data(sd,v1,v2,b1,b2,b3,b4,b5,b6,b7);
dbms_output.put_line('values are: v1='||v1||' v2='||v2||' b1='||b1||' b2='||b2||' b3='||b3||' b4='||b4||' b5='||b5||' b6='||b6);
end;
我想用存儲過程執行上述PLSQL塊。但是錯誤如下。無法使用輸入和輸出參數執行存儲過程
從命令行1開始的錯誤:declare sd varchar2(30); (3,2); v1 (3,2); v2數字(3,2); b1號碼(3,2); b2號碼(3,2); b3 number(3,2); b4號碼(3,2); b5號碼(3,2); b6號碼(3,2); b7 number(3,2);
begin sd:='secondary education';執行 academics_data(sd,v1,v2,b1,b2,b3,b4,b5,b6,b7); dbms_output.put_line('values is:v1 ='|| v1 ||'v2 ='|| v2 ||'b1 ='|| b1 ||' b2 ='|| b2 ||'b3 ='| | b3 ||'b4 ='|| b4 ||'b5 ='|| b5 ||'b6 ='|| b6);結束;錯誤 報告:ORA-06550:第15行,第9列:PLS-00103:在期待以下某項時遇到 符號「ACADEMICS_DATA」:
:=。 (@%; immediate)符號「:=」替換爲 「ACADEMICS_DATA」繼續。 06550. 00000 - 「行%s,列%s:\ n%s」 *原因:通常是PL/SQL編譯。錯誤 *操作:
刪除'execute' – Aleksej
是的,這是正確的。謝謝Aleksej! – Darla
注意你沒有在'dbms_output.put_line'前面放置'execute'。這只是另一個過程(恰巧由Oracle提供),所以你可以用同樣的方式調用它們。 –