Du kan antingen få det nyinfogade ID:t att matas ut till SSMS-konsolen så här:
INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')
Du kan använda detta även från t.ex. C#, när du behöver få tillbaka ID:t till din anropsapp - kör bara SQL-frågan med .ExecuteScalar() (istället för .ExecuteNonQuery() ) för att läsa det resulterande ID tillbaka.
Eller om du behöver fånga det nyligen infogade ID inuti T-SQL (t.ex. för senare vidare bearbetning) måste du skapa en tabellvariabel:
DECLARE @OutputTbl TABLE (ID INT)
INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID INTO @OutputTbl(ID)
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')
På så sätt kan du lägga in flera värden i @OutputTbl och göra ytterligare bearbetning av dessa. Du kan också använda en "vanlig" temporär tabell (#temp ) eller till och med en "riktig" beständig tabell som ditt "utgångsmål" här.