变量应用于表名的问题
- SQL code
declare @tt textset @tt=[成绩]select * from @tt
消息 2739,级别 16,状态 1,第 3 行
对于局部变量,text、ntext 和 image 数据类型无效。
消息 1087,级别 16,状态 1,第 3 行
必须声明表变量 "@tt"。
这是为什么呢?
[解决办法]
加个引号:
- SQL code
create table [成绩](sid int,cid int,scroe int)insert into [成绩] select 1,1,60insert into [成绩] select 2,1,75insert into [成绩] select 3,1,84godeclare @tt nvarchar(1000)set @tt='[成绩]'exec('select * from '+ @tt)/*sid cid scroe----------- ----------- -----------1 1 602 1 753 1 84(3 行受影响)*/godrop table [成绩]