plsql動態執行存儲過程

今天一同事問我Oracle PL/SQL如何動態調用存儲過程,我覺得應該沒有問題,剛試了一下OK,主要是用execute immediate 語法,注意using裏指定in和out參數,具體測試示例如下:

create or replace function FNC_TEST2(iP1 INTEGER,iP2 integer) return integer is
  Result integer;
begin
  return(iP1*iP2);
end FNC_TEST2;

create or replace function FNC_TEST1 return integer is
  Result integer;
  vSQL   varchar2(200);
begin
  vSQL := 'BEGIN :return:=FNC_TEST2(:p1,:p2); END;';
  execute immediate vSQL
    using out Result,2, 3;
  return(Result);
end FNC_TEST1;

SQL> select fnc_test1() from dual;
 
FNC_TEST1()
-----------
          6
 
SQL>

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/yzsind/archive/2009/08/05/4413679.aspx

 

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/rainbow8966/archive/2009/08/18/4458818.aspx

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