语句句柄相关接口
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):函数是否成功执行。
其他说明
无