pl/sql developer中用execute呼叫儲存過程彈出‘無效的sql語句’解決方法
阿新 • • 發佈:2019-01-07
--------建立儲存過程-------
create or replace procedure GetUserAccout
as
tatle number(10);
begin
select count(*) into tatle from USERACCOUNT;
dbms_output.put_line('總數為:'||tatle);
end;
--------執行儲存過程------
execute GetUserAccout();
在執行如上儲存過程時,報無效sql語句,在網上找到方法總結如下:
——解決方案——————–
1、使用call GetUserAccout();呼叫存數過程 在sql的執行視窗中只能這樣呼叫"call GetUserAccout(); ",這樣執行就是把"call GetUserAccout(); "當成一個sql語句; 而exec GetUserAccout();不是一個sql語句,是一個執行體,執行體呼叫必須在命令視窗,把這句話當成一個整體,也就是plsql塊。但是要在sql視窗中執行也可以,這樣呼叫: begin GetUserAccout(); end; 2、新建一個commond 視窗。 在命令視窗中兩種方式都可以呼叫exec GetUserAccout(); --這樣,相當於執行一個plsql塊,即把”GetUserAccout()“看成plsql塊呼叫。 call GetUserAccout(); --這樣,相當於,但用一個方法“GetUserAccout()”,把“GetUserAccout()”看成一個方法。