Můžete buď nechat nově vložené ID vysílat do konzole SSMS takto:
INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')
Toto můžete použít také např. C#, když potřebujete získat ID zpět do své volající aplikace – stačí provést dotaz SQL pomocí .ExecuteScalar()
(místo .ExecuteNonQuery()
), abyste si přečetli výsledné ID
zpět.
Nebo pokud potřebujete zachytit nově vložené ID
uvnitř T-SQL (např. pro pozdější další zpracování), musíte vytvořit proměnnou tabulky:
DECLARE @OutputTbl TABLE (ID INT)
INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID INTO @OutputTbl(ID)
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')
Tímto způsobem můžete do @OutputTbl
vložit více hodnot a provést na nich další zpracování. Můžete také použít "běžnou" dočasnou tabulku (#temp
) nebo dokonce „skutečnou“ trvalou tabulku jako váš „výstupní cíl“ zde.