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

Dav*_*vid 2 oracle oracle-call-interface

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

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

我该怎么做呢 ?

Dav*_*vid 6

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

因此,将以下代码添加到您的程序中:

   ub4 row_count;

   rc = OCIAttrGet ( stmthp, OCI_HTYPE_STMT, &row_count, 0, OCI_ATTR_ROW_COUNT,
           errhp );
Run Code Online (Sandbox Code Playgroud)

哪里:

stmthp 是OCIStmt语句句柄

errhp 是OCIError错误句柄

rc 是定义的返回码(剑)

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