declare @count int
declare @table varchar(50)
set @table = 'webgame_sys_user'
exec('SELECT '+@count+' = COUNT(user_id) FROM '+ @table)
print @count提示=号附近有语法错误 ?
declare @table varchar(50)
set @table = 'webgame_sys_user'
exec('SELECT '+@count+' = COUNT(user_id) FROM '+ @table)
print @count提示=号附近有语法错误 ?
set @sql='select @a=count(*) from tableName '
exec sp_executesql @sql,N'@a int output',@num output
select @num
declare @table varchar(50)
declare @sql nvarchar(2000)
set @table = 'webgame_sys_user'
set @sql = 'SELECT @count = COUNT(user_id) FROM '+ @table
EXEC sp_executesql @sql,N'@count int output',@count output
print @count
declare @table varchar(50)
set @table = 'webgame_sys_user'
set @sql = ' SELECT @count = COUNT(user_id) FROM '+ @table
exec sp_executesql @sql, N'@count int output', @count output
print @count
執行可以重新使用許多次或已經動態建立的 Transact-SQL 陳述式或批次。Transact-SQL 陳述式或批次可以包含內嵌參數。語法
sp_executesql [@stmt =] stmt
[
{, [@params =] N'@parameter_name data_type [,...n]' }
{, [@param1 =] 'value1' [,...n] }
]
exec sp_executesql @sql,N'@a int output',@count output
select @count
declare @table varchar(50)
set @table = 'webgame_sys_user'
exec('SELECT user_id FROM '+ @table)
select @count = @@ROWCOUNT
print @count
paoluo,好久不见!
-------
好久不見, ;)
原本是这样的
DECLARE @LINECOUNT INTexec('SELECT '+ @LINECOUNT +'= COUNT(user_id) FROM '+ @table_name)IF @LINECOUNT <= @PAGE_SIZE只想得到@LINECOUNT 为什么得不到 非要向你那样改吗
set @sql='select @a=count(user_id) from ' + @table
exec sp_executesql @sql,N'@a int output',@count output
select @count
declare @table_name varchar(50)
set @table_name = 'webgame_sys_user'
set @sql = ' SELECT @LINECOUNT = COUNT(user_id) FROM '+ @table_name
exec sp_executesql @sql, N'@LINECOUNT int output', @LINECOUNT output
IF @LINECOUNT <= @PAGE_SIZE
declare @table varchar(50)
set @table = 'webgame_sys_user'
exec('SELECT Count(user_id) FROM '+ @table)
select @count = @@ROWCOUNT
print @count
这样我就不用改了
结贴 谢谢各位了!!
declare @table varchar(50)
set @table = 'webgame_sys_user'
exec('SELECT 1 FROM '+ @table)
set @count = @@rowcountset @sql='select @a=count(user_id) from ' + @table
exec sp_executesql @sql,N'@a int output',@count output
select @count
declare @count int
declare @table varchar(50)
set @table = 'webgame_sys_user'
exec('SELECT Count(user_id) FROM '+ @table)
select @count = @@ROWCOUNT
print @count
这样我就不用改了
结贴 谢谢各位了!!
----------
但是還是建議你用sp_executesql 來做。修改的代碼也不多,只需要將你那的exec改為sp_executesql 的用法即可。
declare @table varchar(50)
set @table = 'webgame_sys_user'
exec('SELECT Count(user_id) FROM '+ @table)
select @count = @@ROWCOUNT
print @count
不对啊!这个@@ROWCOUNT永远是1啊
修改成这个还成exec('SELECT Count(1) FROM '+ @table),用@@ROWCOUNT才对
exec('SELECT user_id FROM '+ @table)樓主復制的有問題。