Вывод во временную таблицу в SQL Server 2005

Я пытаюсь использовать OUTPUT предложение внутри хранимой процедуры для вывода во временную таблицу значений столбца отступа после INSERT,

CREATE TABLE #Test
(
    ID INT
)

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

Тем не менее, когда я выполняю эту процедуру, SQL Server показывает мне результаты в таблице (правильно) под названием Test но если я напишу SELECT * FROM #Test как следующий оператор в хранимой процедуре, он ничего мне не показывает. Как я могу эффективно достичь этого?

1 ответ

Я думаю, что вам не хватает INTO - попробуй это:

CREATE TABLE #Test(ID INT)

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

После списка столбцов OUTPUTдобавить INTO перед именем таблицы

Другие вопросы по тегам