declare @RecordCount INT
declare @sql nvarchar(2000)
set @sql = 'SELECT @RecordCount = COUNT(*) FROM users'
exec(@sql)print @RecordCount

解决方案 »

  1.   

    set @sql = 'SELECT @RecordCount = COUNT(*) FROM users' 
    -》
    set @sql = 'SELECT RecordCount = COUNT(*) FROM users' 
      

  2.   

    declare @RecordCount INT SELECT @RecordCount = COUNT(*) FROM userxxprint @RecordCount
      

  3.   

    在要执行的字符串式的SQL语句中,局部变量不需要加“@”。
    除非是批量SQL句或存储过程中,可否理解?!
      

  4.   

    declare @RecordCount INT
    declare @sql nvarchar(2000)
    set @sql = N'SELECT @RecordCount = COUNT(*) FROM sys.objects'
    exec sp_executesql @sql, N'@RecordCount INT output', @RecordCount outputprint @RecordCount
      

  5.   

    要取得动态里面变量的值,用 sp_executesql 。