@@IDENTITY
renvoie l'identité la plus récente générée dans la session en cours. Dans la plupart des cas, vous voudrez probablement utiliser SCOPE_IDENTITY
à la place, qui renvoie l'identité la plus récente générée dans la portée actuelle.
Par exemple, si vous insérez une ligne dans table1 , mais cette insertion déclenche un déclencheur qui insère une ligne dans table2 , puis @@IDENTITY
renverra l'identité de table2 alors que SCOPE_IDENTITY
renverra l'identité de table1 .
INSERT INTO my_table (my_column) VALUES ('test')
-- return the identity of the row you just inserted into my_table
-- regardless of any other inserts made by triggers etc
SELECT SCOPE_IDENTITY() AS ins_id