已有一个表,这个表的表名当变量,用语句如果查?
已有一个表,这个表名为 table_123
直接查询
select * FROM table_123
但是我设置一个变量
declare @tt nvarchar(100)
set @tt = 'table_123'
select * FROM @tt
这样查询不能成功。
只能这样查询才成功啊。exec('select * FROM '+ @tt)
但是这个查询对我的语句更改比较 大,
我的表是固定表,不是变量表,我不想设置变量表。
想问一下,像要这样的情况。是不是只能通过
exec('select * FROM '+ @tt)
来查询呢?
------最佳解决方案--------------------这种情况下首先可以确定需要动态语句 也就是你说的可以成功的方法
但是你说你的表示固定的 那为何不直接select * from 表名 非要用变量 这不是多此一举吗?
此外如果一定要用变量 那么你把动态语句封装到存储过程里面 直接调用存储过程就好了
------其他解决方案--------------------不是我为什么要多此一举。
具体情况比较 复杂,我这边只是举个简单的例子
看来是没有办法了。谢谢了。