У меня есть оператор вставки, который переносит некоторые данные в несколько табличных переменных, а затем на основании этих данных выполняет несколько вставок в несколько таблиц. Я забочусь только о строках, которые вставляются в реальные таблицы, а не о переменных таблицы, но ExecuteNonQuery вернет сумму всех @@ ROWCOUNT. Что я хотел бы знать, есть ли способ переопределить количество строк, которое возвращается с помощью ExecuteNonQuery?
Мне известно, что я могу использовать ExecuteScalar или выходные переменные в качестве альтернативы.
Вот пример, который сводит его к простому примеру:
CREATE TABLE VersionExample ( Version Varchar(255) )
Declare @RowCountICareAbout int
DECLARE @Example TABLE ( Version Varchar(255) )
INSERT INTO @Example Select @@VERSION
INSERT INTO VersionExample SELECT Version FROM @Example
SET @RowCountICareAbout = @@ROWCOUNT
--Use @RowCountICareAbout as the rows affected returned to ExecuteNonQuery