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。
说明:
无