【发布时间】:2013-01-15 09:16:42
【问题描述】:
是不是SQL Server 2000,不能用exec插入表变量?
我尝试了这个脚本并收到错误消息EXECUTE cannot be used as a source when inserting into a table variable.
declare @tmp TABLE (code varchar(50), mount money)
DECLARE @q nvarchar(4000)
SET @q = 'SELECT coa_code, amount FROM T_Ledger_detail'
INSERT INTO @tmp (code, mount)
EXEC sp_executesql (@q)
SELECT * from @tmp
如果是这样,我该怎么办?
【问题讨论】:
-
如果是真的,你应该
CREATE TEMP TABLE(我相信你可以从EXEC插入临时表)。 -
“这是真的吗?” - yes - "但是,表不能用于以下语句:INSERT INTO table_variable EXEC stored_procedure"
-
好的,我明白了,就像@Anton Kovalenko 说的,我需要创建临时表,而不是表变量...谢谢。 :)
标签: sql-server tsql sql-server-2000