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