SELECT @@IDENTITY ...

23/04/2008 - 15:30 por Diego M Romero | Informe spam
Hola
Todos

Alguien sabe porque @@IDENTITY me devuelve mas de 800 registros?

Estoy haciendo una prueba insertando un registro en Orders de NorthWind, y
necesito el Id del último registro insertado,
pero me devuelve como 800 filas.

¿ es normal o algo estoy haciendo mal ?

select @@IDENTITY FROM Orders

Gracias

Diego M Romero
 

Leer las respuestas

#1 Leonardo Azpurua
23/04/2008 - 16:14 | Informe spam
"Diego M Romero" escribió en el mensaje
news:
Hola
Todos

Alguien sabe porque @@IDENTITY me devuelve mas de 800 registros?

Estoy haciendo una prueba insertando un registro en Orders de NorthWind, y
necesito el Id del último registro insertado,
pero me devuelve como 800 filas.

¿ es normal o algo estoy haciendo mal ?

select @@IDENTITY FROM Orders



Hola Diego,

Normalmente, basta con escribir SELECT @@IDENTITY -inmediatamente despues de
la operación de inserción- para obtener el numero de la columna marcada con
el atributo "IDENTITY" del último registro insertado.

Probé a escribir SELECT @@IDENTITY FROM unaTabla, y obtuve tantas filas -con
NULL, dado que no acabo de realizar ninguna inserción- como filas contien la
tabla.

@@IDENTITY es una variable global, que se condiciona al valor IDENTITY de la
fila que acaba de ser insertada.

En algún lugar del sitio de MS hay un artículo que se refiere a ciertos
problemas derivados del uso "simple" de SELECT @@IDENTITY que pueden
producirse cuando la inserción dispara un trigger. No tengo a mano la
referencia, pero valdría la pena que le dieras una leída.


Salud!

Preguntas similares