Как я могу получить количество строк, затронутых запросом UPDATE в хранимой процедуре (SQL Server 2005), в виде набора результатов. например
CREATE PROCEDURE UpdateTables
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
UPDATE Table1 Set Column = 0 WHERE Column IS NULL
UPDATE Table2 Set Column = 0 WHERE Column IS NULL
UPDATE Table3 Set Column = 0 WHERE Column IS NULL
UPDATE Table4 Set Column = 0 WHERE Column IS NULL
END
Затем вернитесь:
Table1 Table2 Table3 Table4
32 45 0 3
sql
sql-server
SamWM
источник
источник
Возможно, вам понадобится собирать статистику по ходу дела, но
@@ROWCOUNT
это фиксирует следующее:declare @Fish table ( Name varchar(32) ) insert into @Fish values ('Cod') insert into @Fish values ('Salmon') insert into @Fish values ('Butterfish') update @Fish set Name = 'LurpackFish' where Name = 'Butterfish' select @@ROWCOUNT --gives 1 update @Fish set Name = 'Dinner' select @@ROWCOUNT -- gives 3
источник