我遇到了一个动态创建表格的情况。我想知道是否有一种方法可以将子查询的结果作为INSERT INTO语句中的表格。
我目前使用动态SQL和表名来解决这个问题,但对于更复杂的插入操作,这可能会变得非常混乱。
以下是我的意思的示例:
INSERT INTO (SELECT name
FROM sys.objects
WHERE object_id = 914102297)
我遇到了一个动态创建表格的情况。我想知道是否有一种方法可以将子查询的结果作为INSERT INTO语句中的表格。
我目前使用动态SQL和表名来解决这个问题,但对于更复杂的插入操作,这可能会变得非常混乱。
以下是我的意思的示例:
INSERT INTO (SELECT name
FROM sys.objects
WHERE object_id = 914102297)
DECLARE @Query nvarchar(4000)
set @Query = 'INSERT INTO ' + (SELECT name FROM sys.objects WHERE object_id = 914102297)
set @Query = @Query + ...
exec sp_executesql @query
OBJECT_NAME(914102297)
。 - Martin SmithInvalid object name 'OBJECT_NAME'
这个错误信息,你能给我一个例子吗? - Jacksys.objects
中选择名称,但我再看了一遍,发现你已经有名称了,所以忽略那一部分!除了动态 SQL 或不动态创建表之外,没有其他解决方案。 - Martin Smith