`
tianlijia202
  • 浏览: 74383 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

PRO*C调用procedure

    博客分类:
  • sql
阅读更多
文章转自: http://www.oraclefans.cn/forum/showtopic.jsp?rootid=410

在PRO*C中调用存储过程和函数
在PRO*C中可以在一个嵌入式PL/SQL块中调用一个存储过程或函数。以下通过例子来说明调用的方法。比如说目前有以下几个存储过程和函数:

 

l        procedure1() :没有参数的存储过程

l        procedure2 (param1 number, param2 varchar2):有2个参数的存储过程

l        function1() return number  :没有参数的函数

l        function2(param1 number) return number:有一个参数的函数

调用PROCEDURE1的嵌入式PL/SQL语法为:

EXEC SQL EXECUTE 

  BEGIN 

    procedure1; 

  END; 

END-EXEC; 

调用PROCEDURE2的嵌入式PL/SQL语法为: 

int hostvar1;

char hostvar2(20);



EXEC SQL EXECUTE 

  BEGIN 

/* hostvar1和hostvar2是两个在C语言中定义的宿主变量 */ 

    procedure2(:hostvar1, :hostvar2);  

  END; 

END-EXEC; 

调用FUNCTION1的语法是:

int hostvar; 

EXEC SQL EXECUTE 

  BEGIN 

    :hostvar:= function1; 

  END; 

END-EXEC; 

调用FUNCTION2的语法:

int hostvar,returnvar; 

EXEC SQL EXECUTE 

  BEGIN 

    :returnvar := function2(:hostvar); 

  END; 

END-EXEC;
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics