Можете или да накарате нововмъкнатия ID да бъде изведен към конзолата на SSMS по следния начин:
INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')
Можете да използвате това и от напр. C#, когато трябва да върнете идентификационния номер обратно на вашето приложение за повикване - просто изпълнете SQL заявката с .ExecuteScalar()
(вместо .ExecuteNonQuery()
), за да прочетете получения ID
назад.
Или ако трябва да заснемете нововмъкнатия ID
вътре в T-SQL (напр. за по-нататъшна обработка), трябва да създадете таблична променлива:
DECLARE @OutputTbl TABLE (ID INT)
INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID INTO @OutputTbl(ID)
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')
По този начин можете да поставите множество стойности в @OutputTbl
и направете допълнителна обработка на тях. Можете също така да използвате „обикновена“ временна таблица (#temp
) или дори „истинска“ постоянна таблица като „изходна цел“ тук.