Campos autonuméricos...

06/11/2004 - 22:36 por Miguel Ortiz Falcón | Informe spam
Si yo declaro una llave como campo autonumérico en SQL
Server..y despues desde mi programa hago una inserción,
como puedo saber qué clave fue la que se le asignó?

Saludos...

Miguel Ortiz Falcón
michaelof@hotmail.com

Preguntas similare

Leer las respuestas

#6 Octavio Hernandez
08/11/2004 - 01:13 | Informe spam
Miguel,

Yo creo que la razón de poner esa consulta junto con el INSERT es que se
ejecute inmediatamente después del INSERT, pues si se emitiera por separado
aumentaría el riesgo de que otro usuario insertara otro registro, y entonces
@@IDENTITY devolvería un valor adulterado...

Slds,

Octavio

"Miguel Ortiz Falcón" escribió en el mensaje
news:3a1901c4c4eb$ace935e0$
Pero 'SELECT @@IDENTITY', en lugar de la otra sentencia
SELECT en el comando INSERT no ?...digo porque así ya lo
había puesto..., pero tengo 2 dudas, tiene a fuerza que
hacerse la inserción vía el DataSet, cuando se hace una
inserción, no puede haber así como que un apuntador al
registro insertado, entonces de allí se podria sacar el
@@IDENTITY.. y la otra es el SELECT del comando INSERT,
bueno asumo que se realiza terminando la inserción
pero "dónde se coloca esa consulta?"

Saludos

Miguel Ortiz Falcon


Miguel,

Y no hay una manera más sencilla de saber








@@IDENTITY ?? Se me hace mucho
proceso nada más para saber un campo...

Si sólo necesitas obtener ese valor, utiliza 'SELECT


@@IDENTITY'.

Slds - Octavio


Miguel,

Este enlace te indica cómo, básicamente hay que hacer


uso de @@IDENTITY:

http://support.microsoft.com/kb/320897/EN-US/

Slds,

Octavio

"Miguel Ortiz Falcón" escribió


en el mensaje
news:40ed01c4c448$aec71ab0$
Si yo declaro una llave como campo autonumérico en SQL
Server..y despues desde mi programa hago una inserción,
como puedo saber qué clave fue la que se le asignó?

Saludos...

Miguel Ortiz Falcón



.



.





.

Respuesta Responder a este mensaje
#7 Jose Alfredo Garcia
08/11/2004 - 10:46 | Informe spam
Hola!

Simplemente tienes que hacer una sentencia query batch es decir una seguida
de otra cuando ejecutes el insert. esto te devolvera el numero de
identificación. En el siguiente ejemplo tienes como obtener el ID generado
en una inserción en una tabla llamada TActivas.

"INSERT INTO TActivas (Campo1, Campo2.) VALUES (@0,@1); SELECT ID
FROM TActivas WHERE ID_NUM=SCOPE_IDENTITY()";

Observa que entre el INSERT y el SELECT existe un ";" esto hace que SQL
ejecute las dos sentencias una tras otra y devuelva el valor de ID (que es
el campo autoincremento en esta tabla). Normalmente yo envio esta sentencia
usando un .ExecuteScalar() que devuelve un solo valor de la query.

Espero que te ayude

Saludos

Jose Alfredo

"Miguel Ortiz Falcón" wrote in message
news:40ed01c4c448$aec71ab0$
Si yo declaro una llave como campo autonumérico en SQL
Server..y despues desde mi programa hago una inserción,
como puedo saber qué clave fue la que se le asignó?

Saludos...

Miguel Ortiz Falcón

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida