7

我正在尝试使用存储过程OUTPUT中的子句将.INSERT

CREATE TABLE #Test
(
    ID INT
)

INSERT INTO [TableB] OUTPUT INSERTED.ID #Test SELECT * FROM [TableA]

但是,当我执行此过程时,SQL Server 会在一个表中显示结果(正确),Test但如果我将其写SELECT * FROM #Test为存储过程中的下一条语句,它什么也不会显示。我怎样才能有效地做到这一点?

4

1 回答 1

18

我认为你错过了INTO- 试试这个:

CREATE TABLE #Test(ID INT)

INSERT INTO [TableB] 
    OUTPUT INSERTED.ID INTO #Test 
    SELECT * FROM [TableA]

在 to 的列列表之后,在表名之前OUTPUT添加一个INTO

于 2011-06-09T11:39:46.947 回答