I have a table tblA with 8 rows
tblA
-----
a | b
when I run :
exec sp_RunSQL 'update tblA set a = 8', 1, 0, ''
I always see @@ROWCOUNT printing out 1, yet query analyser will say 8 rows affected. Any ideas?
CREATE PROCEDURE sp_RunSQL(
@SQL varchar(3000)
,@SQLType int
,@RowsAffected int output
,@SQLMessage varchar(1000) output
)
AS
BEGIN
-- SQLType 1:SELECT,2:INSERT,3:UPDATE,4
ELETE
EXEC (@SQL)
IF @@ERROR <> 0
BEGIN
SET @SQLMessage = 'Failed to run SQL'
RETURN 1
END
ELSE
BEGIN
SET @RowsAffected = @@ROWCOUNT
SET @SQLMessage = 'Successfully ran SQL'
PRINT @@ROWCOUNT
RETURN 0
END
END
GO
tblA
-----
a | b
when I run :
exec sp_RunSQL 'update tblA set a = 8', 1, 0, ''
I always see @@ROWCOUNT printing out 1, yet query analyser will say 8 rows affected. Any ideas?
CREATE PROCEDURE sp_RunSQL(
@SQL varchar(3000)
,@SQLType int
,@RowsAffected int output
,@SQLMessage varchar(1000) output
)
AS
BEGIN
-- SQLType 1:SELECT,2:INSERT,3:UPDATE,4
EXEC (@SQL)
IF @@ERROR <> 0
BEGIN
SET @SQLMessage = 'Failed to run SQL'
RETURN 1
END
ELSE
BEGIN
SET @RowsAffected = @@ROWCOUNT
SET @SQLMessage = 'Successfully ran SQL'
PRINT @@ROWCOUNT
RETURN 0
END
END
GO