Puoi fare in modo che l'ID appena inserito venga inviato alla console SSMS in questo modo:
INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')
Puoi usarlo anche da ad es. C#, quando devi riportare l'ID all'app chiamante:esegui semplicemente la query SQL con .ExecuteScalar()
(invece di .ExecuteNonQuery()
) per leggere l'ID
risultante indietro.
O se hai bisogno di acquisire il ID
appena inserito all'interno di T-SQL (ad es. per ulteriori elaborazioni successive), è necessario creare una variabile di tabella:
DECLARE @OutputTbl TABLE (ID INT)
INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID INTO @OutputTbl(ID)
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')
In questo modo, puoi inserire più valori in @OutputTbl
ed eseguire ulteriori elaborazioni su quelli. Puoi anche utilizzare una tabella temporanea "normale" (#temp
) o anche una tabella persistente "reale" come "destinazione di output" qui.