子查询作为INSERT INTO语句中的表名

时间:2011-04-28 16:03:19

标签: sql sql-server-2005 tsql

我正处于动态创建表格的情况。我基本上想知道是否有办法将子查询的结果用作INSERT INTO语句中的表。

我有一个使用动态SQL和表名的工作解决方案,但是对于可能变得非常混乱的更复杂的插入。

这是我的意思的一个例子。

INSERT INTO (SELECT name 
             FROM sys.objects 
             WHERE object_id = 914102297)

1 个答案:

答案 0 :(得分:1)

你可以这样做:


DECLARE @Query nvarchar(4000)


set @Query = 'INSERT INTO ' + (SELECT name FROM sys.objects WHERE object_id = 914102297)
set @Query = @Query + ...
exec sp_executesql @query