Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   que usar scope_identity o IDENT_CURRENT (https://www.clubdelphi.com/foros/showthread.php?t=66017)

richy08 27-01-2010 22:13:53

que usar scope_identity o IDENT_CURRENT
 
Hola buenas tardes tengo una duda tengo una aplicacion que algunas veces necesito recuperar el ultimo campo que se inserto, el campo que deseo recuperar es llave primaria e identity utilizo mssql, la duda es que la aplicacion corre en varias maquinas as cuales podrian insertar en la misma tabla y eso podria generarme errores, la aplicacion hace el logeo por medio de usuarios quese crearon en la base de datos gracias por cualquier comentario.

Neftali [Germán.Estévez] 28-01-2010 12:47:06

En nuestro caso realizamos la inserción dentro de un Stored Procedure y ese mismo Stored devuelve como valor (parámetro de salida) el valor insertado, de forma que no hace falta hacer dos consultas, la misma inserción lo devuelve.

No se si os puede servir.

richy08 28-01-2010 17:15:20

hola neftali entonces si hago la insercion en un procedimiento almacenado regresara el id de la inserccion correcta??, que pasa si en el momento de que tu procedimiento hace la inserccion ahi otra inserccion antes de que recuperes tu registro ??? recuperaria el correcto?? se que es una probabilidad minima de que estos eventos pasen pero en si es una probabilidad que se debe des descartar gracias

Neftali [Germán.Estévez] 28-01-2010 18:03:02

Si usas identity en la misma inserción puedes preguntar por ese valor, si no los usas deberías utilizar transacciones para bloquear esa operación y que nadie lea entre la inserción y lectura del Stored Procedure.

En el caso de SQL Server, por ejemplo, dentro del Stored procedure utilizas la variable @@IDENTITY que devuelve el valor del último Identity insertado. No se si en MySQL hay algo similar.

richy08 28-01-2010 18:42:11

gracias neftaly por cierto utilizo mssql hare unas pruebas para ver que esl o que mas se adpata a mi situacion y comento saludos


La franja horaria es GMT +2. Ahora son las 05:28:42.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi