C# / ODP.Net: MERGE INTO - Как получить количество затронутых рядов?
Я перевожу проект из провайдера Oracle Mirosofts (System.Data.OracleClient) в провайдер данных Oracle ODP.Net (Oracle.DataAccess.Client), версия 11.2.0.4. Проблема, с которой я столкнулся сейчас, заключается в следующем:
Когда я выполняю инструкцию MERGE INTO с использованием функции OracleCommand.ExecuteNonQuery, она всегда возвращает -1, независимо от того, была она успешной или нет. Поставщик Microsoft всегда возвращает количество затронутых строк. Так что это то, что я ожидаю от ODP.Net. Но он возвращает только количество затронутых строк для операторов INSERT/DELETE/UPDATE...
Так как я могу заставить это работать? Есть идеи?
Ура христианская
1 ответ
Это ошибка в ODP.NET, к сожалению.
Если вы можете сделать это в анонимном PL/SQL или в хранимой процедуре, вы можете воспользоваться SQL / ROWCOUNT PL/SQL.