declare @a varchar(50)
set @a =(select name from syscolumns where id=object_id('table') and syscolumns.colorder in(6))
select @a from table 比如@a='abc'为什么上面的结果等于select abc from table 呢?
set @a =(select name from syscolumns where id=object_id('table') and syscolumns.colorder in(6))
select @a from table 比如@a='abc'为什么上面的结果等于select abc from table 呢?
set @a =(select name from syscolumns where id=object_id('table') and syscolumns.colorder in(6))
print @a
declare @sql nvarchar(4000)
set @sql='select ' +@a + ' from table '
exec (@sql)
set @a =(select name from syscolumns where id=object_id('table') and syscolumns.colorder in(6))
exec('select '+ @a +' from table')
查询会当你是这样的
select 'abc' from table
改为动态
如:
declare @str varchar(1000)
set @str='select * from table1'
exec (@str)这样才可以呀,而且必须加括号.
set @a =(select name from syscolumns where id=object_id('table') and syscolumns.colorder in(6))
exec('select '+@a+' from table ')
set @a=''
select @a=@a+ name from syscolumns where id=object_id('jobs')-- and syscolumns.colorder in(6))
select @a