Oracle中執行存儲過程call和exec區別

在sqlplus中這兩種方法均可以使用:
exec pro_name(參數1..);
call pro_name(參數1..);
區別:
1. 可是exec是sqlplus命令,只能在sqlplus中使用;call爲SQL命令,沒有限制.
2. 存儲過程沒有參數時,exec能夠直接跟過程名(能夠省略()),但call則必須帶上().

Sql代碼 收藏代碼
SQL> --建立過程 插入數據
SQL> create or replace procedure pro1 is
2 begin --執行部分
3 insert into mytest values('張三', 'mm');
4 end;
5 /

Procedure created

SQL> exec pro1;

PL/SQL procedure successfully completed

SQL> call pro1;

call pro1

ORA-06576: 不是有效的函數或過程名

SQL> call pro1();

Method called

總結:在調用過程時,應該養成使用call,且要帶上()的習慣。sql

相關文章
相關標籤/搜索