检测由OCI OCIStmtExecute调用更新的ORACLE行数

时间:2009-02-12 11:09:08

标签: oracle oci

我有一个ORACLE更新语句,我使用OCIStmtExecute函数调用调用它。

使用OCI函数调用我想知道该操作已更新了多少行,例如零,一个或多个。

我该怎么做?

2 个答案:

答案 0 :(得分:6)

在OCIStmt语句句柄上使用OCIAttrGet函数调用,属性类型设置为OCI_ATTR_ROW_COUNT

所以将以下代码添加到您的程序中:

   ub4 row_count;

   rc = OCIAttrGet ( stmthp, OCI_HTYPE_STMT, &row_count, 0, OCI_ATTR_ROW_COUNT,
           errhp );

其中:

stmthp是OCIStmt语句句柄

errhp是OCIError错误句柄

rc是定义的返回码(剑)

更新(或删除并插入,如果这是您的操作)的行数写入传递的row_count变量

答案 1 :(得分:2)

在语句句柄上调用OCIAttrGet(OCI_ATTR_ROW_COUNT)