我有一个我创建的表变量,它保存其他表的ID,列名和表名,以便示例行包含
ID,列,表
2,AssetName,dbo.Asset
我现在希望在另一个表变量中插入由该行组成的查询结果,例如:
插入@ table2 .. '从dbo中选择AssetName.Asset' [结果,特别是Asset表中的AssetName列 - 可能是10行数据]
请让我知道如何最好地解决这个问题。
答案 0 :(得分:1)
你必须动态地这样做。例如,像(未经测试):
DECLARE @SQL NVARCHAR(MAX)
SELECT @SQL = N'INSERT INTO @Table2 SELECT ' + QUOTENAME(Column) + N' FROM ' + QUOTENAME(Table)
FROM @Table1
EXEC sp_executesql @SQL
我不完全确定你是否需要一个全局表变量(@@Table2
)。