Ver Mensaje Individual
  #3  
Antiguo 15-12-2016
raul_toled raul_toled is offline
Registrado
 
Registrado: ene 2007
Posts: 9
Reputación: 0
raul_toled Va por buen camino
Si, lo que pasa que la tabla tiene desencadenadores que graba una tabla de log (con otro autonumérico), entonces el @@IDENTITY me devuelve el ID de la tabla de log y no el del propio registro insertado. Tiene migas la cosa....

Cita:
Empezado por luisgutierrezb Ver Mensaje
Bueno de la página

a grandes razgos, debes utilizar @@identity

SELECT @@IDENTITY
It returns the last IDENTITY value produced on a connection, regardless of the table that produced the value, and regardless of the scope of the statement that produced the value.
@@IDENTITY will return the last identity value entered into a table in your current session. While @@IDENTITY is limited to the current session, it is not limited to the current scope. If you have a trigger on a table that causes an identity to be created in another table, you will get the identity that was created last, even if it was the trigger that created it.

SELECT SCOPE_IDENTITY()
It returns the last IDENTITY value produced on a connection and by a statement in the same scope, regardless of the table that produced the value.
SCOPE_IDENTITY(), like @@IDENTITY, will return the last identity value created in the current session, but it will also limit it to your current scope as well. In other words, it will return the last identity value that you explicitly created, rather than any identity that was created by a trigger or a user defined function.
Responder Con Cita