РЕЗЮМЕ:
Мне нужно использовать предложение OUTPUT в операторе INSERT , чтобы вернуть столбцы, которых нет в таблице, в которую я вставляю. Если я могу избежать этого, Я не хочу добавлять столбцы в таблицу, в которую я вставляю .
* ** 1011 1012 * ОПИСАНИЕ:
Моя таблица FinishedDocument имеет только один столбец. Это таблица, в которую я вставляю.
FinishedDocument
- DocumentID
Моя таблица документов состоит из двух столбцов. Это таблица, из которой мне нужно вернуть данные.
* * Документ тысячу двадцать-один
- DocumentID
- Описание
Следующее вставляет одну строку в FinishedDocument. Его предложение OUTPUT возвращает вставленный DocumentID. Это работает, но не дает описание вставленного документа.
INSERT INTO FinishedDocument
OUTPUT INSERTED.DocumentID
SELECT DocumentID
FROM Document
WHERE DocumentID = @DocumentID
Мне нужно вернуть из таблицы документов и DocumentID, и описание соответствующего документа из INSERT.
Какой синтаксис мне нужен для этого? Я думаю, что это возможно только с одним оператором INSERT, изменяя предложение OUTPUT (таким образом, я явно не понимаю)?
Есть ли более умный путь, который не похож на путь, по которому я иду?
РЕДАКТИРОВАТЬ: SQL Server 2005