1. 程式人生 > >pl/sql developer中用execute呼叫儲存過程彈出‘無效的sql語句’解決方法

pl/sql developer中用execute呼叫儲存過程彈出‘無效的sql語句’解決方法

--------建立儲存過程-------
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()”看成一個方法。