在SQL Server 2005中输出到临时表

B.M*_*B.M 6 sql-server-2005 output-clause

我试图在存储过程中使用OUTPUT子句将一个indentity列的值输出到临时表.INSERT

CREATE TABLE #Test
(
    ID INT
)

INSERT INTO [TableB] OUTPUT INSERTED.ID #Test SELECT * FROM [TableA]
Run Code Online (Sandbox Code Playgroud)

但是,当我执行此过程时,SQL Server向我显示调用的表(正确)中的结果,Test但如果我将其写SELECT * FROM #Test为存储过程中的下一个语句,则它不显示任何内容.我怎样才能有效地完成这项工作?

mar*_*c_s 15

我想你错过了INTO- 尝试这个:

CREATE TABLE #Test(ID INT)

INSERT INTO [TableB] 
    OUTPUT INSERTED.ID INTO #Test 
    SELECT * FROM [TableA]
Run Code Online (Sandbox Code Playgroud)

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