存储过程中的动态表名称,不使用EXEC

时间:2018-01-25 19:18:59

标签: sql-server

我有一个存储过程需要表名,其中一些数据来自动态并通过参数提供。

但是,因为你不能在很多SQL语句中使用变量而且我不想在exec语句中包含所有语句(因为它非常笨重,需要将所有内容转换为字符串和附加引号),有没有办法做到这一点?

我可以在我的存储过程中在表上创建一个同义词,然后在整个过程中使用它,例如这似乎有效,但我不确定后果......

exec('create synonym NEILTABLE FOR '+@var1);

select * 
into dbo.temptemp 
from NEILTABLE 
where location_spatial is null;

drop synonym NEILTABLE;

感谢。

0 个答案:

没有答案