ACIStmtPrepare2()

ACIStmtPrepare2()

作用:

准备要执行的SQL或PL / SQL语句。 用户可以选择使用语句缓存(如果已启用)。强烈建议在所有ACI应用程序中使用 ACIStmtPrepare2 ,而不建议调用淘汰 ACIStmtPrepare

语法:

sword ACIStmtPrepare2 ( ACISvcCtx      *svchp,
                        ACIStmt       **stmthp,
                        ACIError       *errhp,
                        const OraText  *stmttext,
                        ub4             stmt_len,
                        const OraText  *key,
                        ub4             keylen,
                        ub4             language,
                        ub4             mode );

参数:

  • svchp (IN)

与该语句关联的服务上下文。

  • stmthp (OUT)

指向返回的语句句柄的指针。

  • errhp (IN)

指向用于诊断的错误句柄的指针。

  • stmttext (IN)

语句文本。 stmttext的语义与 ACIStmtPrepare 相同; 也就是说,字符串必须以NULL终止。

  • stmt_len (IN)

语句文本长度。

  • key (IN)

仅用于语句缓存。 在语句缓存中用于搜索语句的键。 如果传递了密钥,那么将忽略语句文本和其他参数,并且搜索仅基于该密钥。

  • keylen (IN)

仅用于语句缓存。 密钥的长度。

  • language (IN)

【目前不使用】

  • mode (IN)

可以在有或没有语句缓存的情况下使用此函数。这是在连接或会话池创建时确定的。如果为会话启用了缓存,则会话中的所有语句均已启用缓存,如果未启用缓存,则不会缓存所有语句。

有效模式如下:

ACI_DEFAULT-未启用缓存。如果在高速缓存中未找到该语句,则此模式分配新的语句句柄并准备执行该语句句柄。如果在高速缓存中未找到该语句,并且存在以下情况之一,则执行后续操作:

仅提供了文本:分配并准备并返回一个新语句。标记为NULL。返回ACI_SUCCESS。

说明: