VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

语句句柄相关接口

OCIStmtGetBindInfo

功能描述

获取绑定和指示器变量名。

功能说明

获取语句句柄的绑定信息和指示器信息。

接口信息

函数/过程

OCIStmtGetBindInfo 语法如下:

sword   OCIStmtGetBindInfo   (OCIStmt *stmtp, OCIError *errhp, ub4 size, 
                              ub4 startloc,
                              sb4 *found, OraText *bvnp[], ub1 bvnl[],
                              OraText *invp[], ub1 inpl[], ub1 dupl[],
                              OCIBind **hndl); 

具体参数解释如下:

  • stmtp (IN): OCIStmtPrepare()准备的语句句柄。
  • errhp (IN):在发生错误时,可以传递给 OCIErrorGet ()用于诊断信息的错误句柄。
  • size (IN):在每个数组元素的个数。
  • startloc (IN):开始获取绑定信息的绑定变量的位置。
  • found (IN):abs(found) 给出了语句中绑定变量的总数,而不考虑起始位置。如果返回的绑定变量数小于提供的大小,则为正值,否则为负值。
  • bvnp (OUT):用于保存绑定变量名称的指针数组。如果环境设置为OCI_UTF16模式,则必须使用 UTF-16。
  • bvnl (OUT):用于保存每个 bvnp 元素长度的数组。长度以字节为单位。
  • invp (OUT):用于保存指示符变量名称的指针数组。如果环境设置为OCI_UTF16模式,则必须使用 UTF-16。
  • inpl (OUT):用于保存每个 invp 元素长度的指针数组。以字节数为单位。(暂不支持)
  • dupl (OUT):元素值为 0 或 1 的数组,具体取决于绑定位置是否与另一个绑定位置重复。(暂不支持)
  • hndl (OUT):一个数组,如果已对绑定位置进行了绑定,则返回绑定句柄。不会为重复项返回句柄。(暂不支持)

其他说明

OCIStmtRelease

功能描述

释放通过调用OCIStmtPrepare2()获得的语句句柄。

功能说明

把语句句柄所占资源释放。目前只提供兼容性接口。

数据相关性

接口信息

函数/过程

OCIStmtRelease 语法如下:

sword OCIStmtRelease ( OCIStmt        *stmthp,  
                       OCIError       *errhp,
                       const OraText  *key,
                       ub4             keylen,
                       ub4             mode ); 

参数的解释如下:

  • stmtp(IN/OUT): OCIStmtPrepare2()获得的语句句柄。
  • errhp(IN):当出现错误时,您可以传递给OCIErrorGet()以获取诊断信息的错误句柄。
  • key(IN):仅对语句缓存有效。要与缓存中的语句关联的键。这是调用者传入的SQL字符串。如果传入NULL键,则该语句不会被标记。
  • keylen(IN):仅对语句缓存有效,key的长度。
  • mode(IN):指定各种操作模式。有效模式包括:
    • OCI_DEFAULT:默认模式
    • OCI_STRLS_CACHE_DELETE:仅对语句缓存有效。语句不再保存在缓存中。

其他说明

OCIStmtGetNextResult

功能描述

返回执行的 PL/SQL 语句句柄的隐式结果集。

功能说明

返回执行的 PL/SQL 语句句柄的隐式结果集。

数据相关性

接口信息

函数/过程

语法如下:

sword OCIStmtGetNextResult (OCIStmt  *stmthp,
                 OCIError   *errhp,
                 void          **result
                 ub4           *rtype,
                 ub4            mode);

参数的解释如下:

  • 输入

    • stmthp(IN): 即将被执行的语句句柄。

    • errhp(IN): 当出现错误时,您可以传递给 OCIErrorGet()以获取诊断信息的错误句柄。

    • result(OUT): 执行的PL/SQL 语句的下一个隐式结果集句柄。

    • rtype(OUT): 隐式结果的类型。唯一可能的值是 OCI_RESULT_TYPE_SELECT。

    • mode(IN): 仅支持 OCI_DEFAULT 模式。

    目前内核暂不支持隐式结果集的返回,该接口只做了兼容性实现,并没有实际实现。

  • 输出

    • sword (OUT):函数是否成功执行。

其他说明

OCIStmtPrepare2

功能描述

准备 SQL或 PL/SQL 语句以供执行。

功能说明

准备 SQL或 PL/SQL 语句以供执行。

数据相关性

接口信息

函数/过程

语法如下:

sword OCIStmtPrepare2 ( OCISvcCtx  *svchp,
                 OCIStmt   **stmthp,
                 OCIError   *errhp,
                 const OraText    *stmttext,
                 ub4   stmt_len,
                 const OraText   *key,
                 ub4   keylen,
                 ub4  language,
                 ub4  mode );

参数的解释如下:

  • 输入

    • svehp (IN): 要与语句关联的服务上下文。

    • stmthp (OUT): 指向返回的语句句柄的指针。

    • errhp(IN): 指向用于诊断的错误句柄的指针。

    • stmttext (IN): 语句文本。stmttext 的语义与OCIStmtPrepare ()的语义相同;也就是说,字符串必须以NULL 结尾。

    • stmt_len (IN): 语句文本长度。

    • key(IN): 仅用于语句缓存。用于在语句缓存中搜索语句的键。如果传入了关键字,则语句文本和其他参数将被忽略,并且搜索仅基于关键字。目前暂不支持该参数。

    • keylen (IN): 仅用于语句缓存。目前暂不支持该参数。

    • language (IN):指定V7 或本机语法。可能的值如下: OCI_V7_SYNTAX-V7 ORACLE解析语法。OCI_NTV_SYNTAX-语法取决于服务器的版本。OCI_FOREIGN_SYNTAX-根据会话中设置的 SQL翻译配置文件指定要翻译的语句。目前暂不支持该参数。

    • mode (IN):目前仅支持 OCI_DEFAULT 模式。stmthp 为NULL。返回 OCI_sERROR。

  • 输出

    • sword (OUT):函数是否成功执行。

其他说明