Chinaunix首页 | 论坛 | 博客
  • 博客访问: 235656
  • 博文数量: 47
  • 博客积分: 1630
  • 博客等级: 上尉
  • 技术积分: 972
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-20 12:52
文章存档

2013年(12)

2012年(6)

2010年(27)

2009年(2)

我的朋友

分类: Oracle

2010-06-04 22:08:16

今天一同事问我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
阅读(934) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~