В настоящее время я пытаюсь выполнить update
в SQL Server (но это может быть любой оператор DML который поддерживает output
), и я хотел бы поместить вывод в локальную временную таблицу, например:
update
dbo.MyTable
set
MyField = 30
output
inserted.MyKeyField
into
#myTempTable
from
dbo.MyTable as t
where
f.MyFilteredField = 8
Я знаю, что синтаксис правильный, согласно документации для пункта output
(выделено мной):
выходная_таблица
Указывает таблицу, в которую возвращаемые строки вставляются, а не возвращаются вызывающей стороне. output_table может быть временной таблицей.
Тем не менее, я ожидаю, что это будет работать так же, как в предложении into
. в операторе select
, поскольку он просто создает таблицу.
Однако я получаю следующую ошибку:
Недопустимое имя объекта '#myTempTable'.
Как я могу получить результаты предложения output
(inserted
или deleted
) во временную таблицу?