日期:2014-05-20  浏览次数:20916 次

各位大侠请帮我修改一个SQL
DECLARE   @RCOUNT   INT
EXEC( 'SELECT   @RCOUNT=COUNT(PRFIXNO)   FROM   ST_INFSMRY_C ')
PRINT   @RCOUNT
运行后会提示:必须声明变量   '@RCOUNT '
在不改变第二行的情况下,如何写才能得到@RCOUNT   的值?

------解决方案--------------------
DECLARE @RCOUNT INT
SET @RCOUNT=(SELECT COUNT(PRFIXNO) FROM ST_INFSMRY_C)
PRINT @RCOUNT
------解决方案--------------------
如果第二行是動態語句的話,就必須用sp_executesql

Declare @S Nvarchar(4000)
DECLARE @RCOUNT INT
Select @S = N 'SELECT @RCOUNT=COUNT(PRFIXNO) FROM ST_INFSMRY_C '
EXEC sp_executesql @S, N '@RCOUNT INT Output ', @RCOUNT Output
PRINT @RCOUNT