存储过程如下:
CREATE PROCEDURE e_temp
@ROWS INT OUTPUT
AS
DECLARE @SQL NVARCHAR(4000)SET @SQL=N'SELECT * FROM t 'EXEC SP_EXECUTESQL @SQL
SET @ROWS=@@ROWCOUNT
GO
--结果@ROWS=0——————————————————————————————————
如果不用动态SQL
CREATE PROCEDURE e_temp
@ROWS INT OUTPUT
AS
DECLARE @SQL NVARCHAR(4000)SELECT * FROM tSET @ROWS=@@ROWCOUNT
GO
--结果@ROWS>0________________________________________请兄弟们指点:
怎样才能在采用动态SQL的情况下,得到@@ROWCOUNT的值?
SET @ROWS=@@ROWCOUNT
GO***********
SELECT * FROM tSET @ROWS=@@ROWCOUNT这样也许一样!
@ROWS INT OUTPUT
AS
DECLARE @SQL NVARCHAR(4000)SET @SQL=N'SELECT * FROM t set @rows=@@rowcount'EXEC SP_EXECUTESQL @SQL,N'@rows int out',@rows out
print @rows
GO
我也曾经试过,不行的。看你回了贴,我又试了下,竟然OK,真是!·#¥%·#%#¥·……·%谢谢兄弟们!结贴。