sql >> Base de Datos >  >> RDS >> Sqlserver

Razón para usar @@identity en lugar de scope_identity

@@IDENTITY devolverá el último valor de identidad emitido por la sesión actual. SCOPE_IDENTITY() devuelve el último valor de identidad en la sesión actual y el mismo ámbito. Por lo general, son los mismos, pero supongamos que se llama a un disparador que inserta algo en algún lugar justo antes de la declaración actual. @@IDENTITY devolverá el valor de identidad por INSERT instrucción del activador, no la instrucción de inserción del bloque. Por lo general, es un error a menos que sepa lo que está haciendo.