【发布时间】:2016-05-21 07:33:42
【问题描述】:
我在 SQL 2014 中有一个存储过程,它在内部进行动态查询并返回两个静态列,其余列是动态的。如果我需要将我的 sp 的结果放入一个临时表中,我需要专门使用列名和数据类型来创建我的临时表。
如何在不声明临时表的情况下将结果放入临时表?
我是这样称呼它的:
SELECT * INTO #TempTable
FROM OPENROWSET
('SQLNCLI','Server=cimplsql-d1.turtle.local;Trusted_Connection=yes;', 'EXEC [dbo].[AttributeSelect] ''2016-01-01'', ''2016-01-01'', 1')
我无法很好地定义我的临时表,因为结果是动态的,它可以返回 4、10 或 20 列,我不知道。
这是现在的错误:
The metadata could not be determined because statement 'EXEC SP_EXECUTESQL @Qry;' in procedure 'AttributeEntitiesSelect' contains dynamic SQL. Consider using the WITH RESULT SETS clause to explicitly describe the result set.
我在 sp 中的动态 sql 上使用了 WITH RESULT SETS UNDEFINED 选项,但没有用
【问题讨论】:
标签: sql sql-server