当前位置:  开发笔记 > 数据库 > 正文

如何从OCI调用ORACLE函数?

如何解决《如何从OCI调用ORACLE函数?》经验,为你挑选了1个好方法。

我可以通过构造命令的SQL命令在C程序中通过OCI调用ORACLE存储过程,这里是我的代码的简短片段:

      /* build sql statement calling stored procedure */
      strcpy ( sql_stmt, "call get_tab_info(:x)" );
      rc = OCIStmtPrepare(p_sql, p_err, sql_stmt,
          (ub4) strlen (sql_stmt), (ub4) OCI_NTV_SYNTAX, (ub4) OCI_DEFAULT);

但是如何使用以下签名构建对ORACLE函数的调用(在我的C程序中):

      CREATE OR REPLACE FUNCTION get_seq_number (p_table_name IN VARCHAR2, p_seq_type IN VARCHAR2) 
      RETURN NUMBER IS

要在PL/SQL中调用该函数,我会使用例如:

      v_seq := get_seq_number(v_tabname, v_seqtype);

如何构造SQL字符数组(sql_stmt)来调用我的C程序中的ORACLE函数?



1> Thomas Jones..:

按如下方式构造SQL语句

strcpy ( sql_stmt, "BEGIN :v_seq := get_seq_number(:v_tabname, :v_seqtype); END;" );

像以前一样准备你的陈述.按名称绑定变量(包括v_seq代码中的前一个并执行语句.当过程完成时,将正确设置值:v_seq.

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有