U kunt de nieuw ingevoerde ID als volgt naar de SSMS-console laten gaan:
INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')
U kunt deze ook gebruiken van b.v. C#, wanneer u de ID terug wilt naar uw aanroepende app - voer gewoon de SQL-query uit met .ExecuteScalar()
(in plaats van .ExecuteNonQuery()
) om de resulterende ID
. te lezen terug.
Of als u de nieuw ingevoegde ID
moet vastleggen binnen T-SQL (bijv. voor latere verdere verwerking), moet u een tabelvariabele maken:
DECLARE @OutputTbl TABLE (ID INT)
INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID INTO @OutputTbl(ID)
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')
Op deze manier kunt u meerdere waarden invoeren in @OutputTbl
en daarop verder verwerken. Je zou ook een "gewone" tijdelijke tabel kunnen gebruiken (#temp
) of zelfs een "echte" persistente tabel als uw "uitvoerdoel" hier.