变量的问题?

SkyeyGarden 2006-03-22 12:08:13
select ◎rows = count(×) from table1
但我要把table1也设为变量要怎么写?????
select ◎rows = Count(×) from ◎table????
...全文
63 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
huailairen 2006-03-22
  • 打赏
  • 举报
回复
用sp_executesql实现
declare @sql Nvarchar(8000)
declare @table varchar(255)
declare @rows int
set @sql='select @rows = Count(*) from @table'
exec sp_executesql @sql,N'@rows int output,@table varchar(255)',@rows int output,@table varchar(255)
select @rows
520zyb 2006-03-22
  • 打赏
  • 举报
回复
exec('select @rows = Count(*) from '+@table)
520zyb 2006-03-22
  • 打赏
  • 举报
回复
exec(select @rows = Count(*) from '+@table)
520zyb 2006-03-22
  • 打赏
  • 举报
回复
exec('declare @rows int,@table varchar(50) select @rows = Count(*) from '+@table+' do other thing')
SkyeyGarden 2006-03-22
  • 打赏
  • 举报
回复
错误在(id<15200)
SkyeyGarden 2006-03-22
  • 打赏
  • 举报
回复
declare @sql Nvarchar(2000)
declare @para nvarchar(1000)
declare @table varchar(255)
declare @where varchar(1000)
declare @rows int
set @table = 'xx'
set @where = 'id<15200'
set @sql=N'select @pararows = Count(*) from '+ @table + 'where ' +@where
set @para=N'"pararows int output'
exec sp_executesql @sql,@para,@pararows = @rows output
select @rows
-----------------------------
格式不正确??????怎么确保输入的格式????
wakinhui 2006-03-22
  • 打赏
  • 举报
回复
那是字符串连接不正确的原因
SkyeyGarden 2006-03-22
  • 打赏
  • 举报
回复
我已经把set @table = 'xx'
为什么会出现这个问题????
如果改写set @sql=N'select @pararows = Count(*) from xx'就正常。。。
SkyeyGarden 2006-03-22
  • 打赏
  • 举报
回复
根据各位的说法,写了下面,但是它说我没有声明表变量@paratable??????????
-----------------------------
declare @sql Nvarchar(2000)
declare @para nvarchar(1000)
declare @table varchar(255)
declare @rows int
set @sql=N'select @pararows = Count(*) from @paratable'
set @para=N'"pararows int output,@paratable varchar(255)'
exec sp_executesql @sql,@para,@pararows = @rows output,@paratable = @table
select @rows

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧