Определение количества строк ORACLE, обновляемых с помощью вызова OCI OCIStmtExecute - PullRequest
2 голосов
/ 12 февраля 2009

У меня есть оператор обновления ORACLE, который я вызываю с помощью вызова функции OCIStmtExecute.

Используя вызов функции OCI, я бы хотел узнать, сколько строк было обновлено действием, например, ноль, один или несколько.

Как мне это сделать?

Ответы [ 2 ]

6 голосов
/ 12 февраля 2009

Используйте вызов функции OCIAttrGet для своего дескриптора оператора OCIStmt с типом атрибута, установленным в 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

2 голосов
/ 12 февраля 2009

Вызвать OCIAttrGet(OCI_ATTR_ROW_COUNT) в дескрипторе оператора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...