Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Raison d'utiliser @@identity plutôt que scope_identity

@@IDENTITY renverra la dernière valeur d'identité émise par la session en cours. SCOPE_IDENTITY() renvoie la dernière valeur d'identité dans la session en cours et la même portée. Ce sont généralement les mêmes, mais supposons qu'un déclencheur est appelé et insère quelque chose quelque part juste avant l'instruction en cours. @@IDENTITY renverra la valeur d'identité par le INSERT instruction du déclencheur, pas l'instruction d'insertion du bloc. C'est généralement une erreur à moins qu'il ne sache ce qu'il fait.