我有一个存储char值列表的表。我想使用该值作为我的新表名... 例如, 列tbl_name具有值: table01 TABLE02 table03
并且table01-table03是存储在我的数据库中的实际表。我怎样直接参考它?
对于这样的代码: 从table01中选择* 薪水> 1000 ;
是否可以将“table01”替换为一段代码? 谢谢!
答案 0 :(得分:0)
declare @table_name varchar(25) = 'table01'
exec('select * from '+@table_name+' where salary > 1000')
答案 1 :(得分:0)
您可以使用动态查询。
Declare @SqlQuery nvarchar(max)
Set @SqlQuery=’Select * from ’
// your logic here for getting table name
假设您将表名存储到名为@temp
的临时变量中现在,将@SqlQuery变量附加为
@ SqlQuery= @SqlQuery+@temp +’ where salary>1000’
Finallt,执行您的查询:
Exec (@SqlQuery)