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,且要帶上()的習慣。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章