ASP - conocer valor campo identity tras insert

 
Vista:

conocer valor campo identity tras insert

Publicado por Francisco (9 intervenciones) el 24/01/2003 19:52:11
Hola:

Estoy trabajando con SQL Server y asp.

Tengo un formulario en el que el usuario introduce datos para insertar registros en tres tablas

distintas, relacionadas entre si mediante un campo id que es identity numerico, generandolo

automáticamente.

Cuando se hace el insert en esta tabla este id se genera, y los insert para las otras dos tablas

llevan este mismo id.

Pero en la ejecución de la aplicación no lo conozco, asi que necesito conocer este id insertado

en la tabla principal para insertarlo a su vez en las dos tablas secundarias.

Solo se me ocurre que después del primer insert, hacer un select a este registro recien incluido

en la tabla, y obtener el id, pero me parece que puede haber formas mas eficientes de hacerlo.

Por favor, tener en cuenta que mi nivel no es muy bueno y, por ejemplo, se lo que es un trigger,

pero no se hacerlo, etc.

Espero que alguién pueda ayudarme.

Muuuuchas gracias.

Francisco
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:conocer valor campo identity tras insert

Publicado por Avatar (150 intervenciones) el 24/01/2003 20:19:16
Hola:

Bueno.. te cuento que existe una propiedad que debe estar declarada en la clave principal llamada "IDENTIDAD".. si esta propiedad esta activa cada vez que se inserte un registro en esa tabla se incrementará la variable globla "@@IDENTITY".
Entonces puedes hacer lo siguiente para saber cual fué el ultimo ID insertado.
"Select @@IDENTITY"
Lo que tiene esto es que siempre devuelve el ultimo ID insertado de la conección actual.. o sea , que puede pasar que por algun motivo el usuario que esta usando esa concección haga otro insert despues del que realmente necesitas te va a devolver una identidad de otro tabla que no es la que a vos te interesa. O sea.. funciona pero hay que tener cuidado.

-----------------------
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar