Как вывести значения временной таблицы при INSERT? - PullRequest
0 голосов
/ 26 мая 2020

У меня следующий запрос:

DECLARE @NewLoan TABLE (
[MemberSSN]         varchar(11),
[VolumeID]      int,
[LoanDate]         datetime
)
INSERT INTO LOAN (MemberSSN, VolumeID, LoanDate) OUTPUT inserted.MemberSSN, inserted.VolumeID, 
inserted.LoanDate INTO @NewLoan
VALUES ('488-40-', 6, GETUTCDATE())

Суть, потому что таблица LOAN имеет триггер, и я не могу OUTPUT без помещения данных INTO во временную таблицу. Теперь вместо сообщения «(1) строка добавлена» после выполнения запроса я хотел бы SELECT содержимое таблицы @NewLoan и посмотреть, что было добавлено. Как я могу это сделать?

1 Ответ

1 голос
/ 26 мая 2020

Если вы имеете в виду, что хотите, чтобы ваш интерфейс читал его, тогда вы можете использовать любой метод, возвращающий набор результатов, для выполнения запроса:

DECLARE @NewLoan TABLE (
[MemberSSN]         varchar(11),
[VolumeID]      int,
[LoanDate]         datetime
);
INSERT INTO LOAN (MemberSSN, VolumeID, LoanDate)
OUTPUT inserted.MemberSSN, inserted.VolumeID, inserted.LoanDate INTO @NewLoan
VALUES ('488-40-', 6, GETUTCDATE());
SELECT * FROM @NewLoan

Если это используется, например, в C#, то ExecuteReader это, или DataAdapter.Fill, или Dapper.Query et c ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...