能不能将表名作为变量?

luoluo_lm 2002-03-29 05:28:25
能不能将表名作为变量?
如下,报错:
Declare @tab varchar(20)
set @tab = 'test'
exec('select * from' + @tab)

...全文
76 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zcflion 2002-03-29
  • 打赏
  • 举报
回复
表名做变量时,只能将语句写从字符串,然后用exec执行。如果有出错的话,可以将你的语句print出来,看什么地方出错。
你本例出错的原因楼上的说得很清楚。少了空格。
x_zing 2002-03-29
  • 打赏
  • 举报
回复
表名做变量时,只能将语句写从字符串,然后用exec执行。如果有出错的话,可以将你的语句print出来,看什么地方出错。
你本例出错的原因楼上的说得很清楚。少了空格。
N_chow 2002-03-29
  • 打赏
  • 举报
回复
少了空格

Declare @tab varchar(20)
set @tab = 'test'
exec('select * from ' + @tab)

blackjack 2002-03-29
  • 打赏
  • 举报
回复
declare @tablename nvarchar(20)
declare @SqlText nvarchar(80)

set @Tablename = N'newtable'
set @SqlText = N'select * from ' +@TableName
execute sp_executesql @sqlText
ERR 2002-03-29
  • 打赏
  • 举报
回复
Declare @tab varchar(20)
Declare @Cmd varchar(128)
set @tab = 'test'
set @Cmd = 'select * from ' + @tab
exec( @Cmd )

就可以了

34,587

社区成员

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

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