Pregunta

tengo un procedimiento en el cual Estoy insertando registro de empleado table.nad conseguir EMPID utilizando @@ identidad? cuando este procedimiento será llamado por más de un usuario al mismo tiempo, no puede haber posibilidad de que devuelve la identidad de algún otro empleado insertada en el mismo .because no hay bloqueo en la identidad por el sistema?

- Código --identity para la columna empid
insertar en empleado valores (nombre) ( 'sahil'); @@ identidad de retorno

SQL Server 2005: ¿es seguro de usar @@ identidad ? de bloqueo en cuestión de la identidad

¿Fue útil?

Solución

Usted debe estar utilizando SCOPE_IDENTITY () en su lugar. Sin embargo, @@ identidad se refiere a la conexión actual para que otros usuarios no le afectan, pero hay otras cuestiones a tener en cuenta.

Más información aquí .

Otros consejos

@@ identidad no es seguro de usar. Si la tabla tiene un gatillo con una inserción en una tabla differnt con una identidad que es el valor que será devuelto. Nunca lo use para obtener el valor idnetity que acaba de insertar. Usted puede pensar así que no tengo un gatillo ahora, pero nunca se sabe cuando uno podría añadir y puede pasar mucho tiempo antes de darse cuenta de que sus datos están en mal estado sin remedio.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top