PL SQL 用SQL呼叫儲存過程

2021-06-20 08:17:57 字數 873 閱讀 8365

【pl/sql】用sql呼叫儲存過程

在sql中可以呼叫自定義函式,但是不能夠呼叫儲存過程。sql中呼叫自定義函式有一定的限制,如果是查詢語句,則不可有dml操作,除非使用匿名事務at。當然,在update,delete中使用的自定義函式可以帶dml操作。

如何用sql呼叫儲存過程呢?因為sql只能呼叫自定義函式,但是自定義函式可以呼叫儲存過程,因此,可以

sql----呼叫function---呼叫procedure

來間接實現sql呼叫函式。如下例:

sql> create or replace procedure test_prc(var1 in number,var2 out number)

2  as

3  begin

4   var2 := var1+1;

5  end;

6  /

procedure created

sql> 

sql> create or replace function test_func(var1 in number)

2  return number

3  as

4  var2 number;

5  begin

6   test_prc(var1,var2);

7   return var2;

8  end;

9  /

function created

sql> select test_func(1) from dual;

test_func(1)

------------2

在程式編寫過程中,如果直接不行,就需要用間接手段,sql呼叫儲存過程,使用自定義function作為媒介,從而很容易實現這個功能。

PL SQL建立 除錯 呼叫儲存過程

儲存過程 所用函式說明 功能 求和與差 原形 getsumandsub p1 in number p2 in number m out number b out number 引數 m p1 p2 b p1 p2 1.先建儲存過程 左邊的瀏覽視窗選擇 procedures 會列出所有的儲存過程,右擊...

sql呼叫儲存過程

sqlconnection con new sqlconnection configurationmanager.connectionstrings easthhproductquoteconnectionstring tostring con.open sqlcommand cmd new sql...

PLSQL儲存過程呼叫儲存過程對異常的處理問題

開始 如果對異常處理不正確,有可能會導致意想不到的結果。下面這個就是 先寫兩個儲存過程 test01 和 test02 create orreplace procedure test01 is v id emp.empno type begin update emp set ename test01...