Coger ID

26/11/2003 - 12:45 por Miguel Tubía | Informe spam
Hola otra vez,
parece q hoy me toca ponerme pesado...
Tengo una tabla con un campo Id_Alerta, autonumérico. Me pregunto si se
podrá, al hacer una insert, que esta me devuelva el identificador, así lo
guardo en una variable y puedo trabajar con él... La única forma identificar
una alerta es mediante su clave primaria, que es el Id_Alerta (bueno, hay
otra pero más rebuscada y no me gustaría tener q recurrir a ella).
Espero haber explicado bien mi consulta
Muchas gracias por su tiempo
Un saludo

Preguntas similare

Leer las respuestas

#1 Accotto Maximiliano D.
26/11/2003 - 13:09 | Informe spam
hola!! mira para ver el ultimo identity deberias ver la variable @@identity

ej:

inserto into prueba blbl ba

select @@identity

esto nos mostrara el ultimo valor identoty insertado.

Un saludo y espero q te haya sido util

Maximiliano Damian Accotto
"Miguel Tubía" escribió en el mensaje
news:%
Hola otra vez,
parece q hoy me toca ponerme pesado...
Tengo una tabla con un campo Id_Alerta, autonumérico. Me pregunto si se
podrá, al hacer una insert, que esta me devuelva el identificador, así lo
guardo en una variable y puedo trabajar con él... La única forma


identificar
una alerta es mediante su clave primaria, que es el Id_Alerta (bueno, hay
otra pero más rebuscada y no me gustaría tener q recurrir a ella).
Espero haber explicado bien mi consulta
Muchas gracias por su tiempo
Un saludo


Respuesta Responder a este mensaje
#2 Carlos Sacristan
26/11/2003 - 13:15 | Informe spam
Si la inserción lo haces a través de un procedimiento almacenado (si no
es así, si puedes te recomiendo que lo cambies), puedes añadir un parámetro
de salida al que le asignarás el valor de SCOPE_IDENTITY() una vez que la
inserción haya finalizado correctamente



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)
MVP SQL Server
Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Miguel Tubía" escribió en el mensaje
news:#
Hola otra vez,
parece q hoy me toca ponerme pesado...
Tengo una tabla con un campo Id_Alerta, autonumérico. Me pregunto si se
podrá, al hacer una insert, que esta me devuelva el identificador, así lo
guardo en una variable y puedo trabajar con él... La única forma


identificar
una alerta es mediante su clave primaria, que es el Id_Alerta (bueno, hay
otra pero más rebuscada y no me gustaría tener q recurrir a ella).
Espero haber explicado bien mi consulta
Muchas gracias por su tiempo
Un saludo


Respuesta Responder a este mensaje
#3 Miguel Tubía
26/11/2003 - 15:35 | Informe spam
Hola,
gracias por responder; esa solución me gusta (de hecho acabo de recordar
verla en la ayuda, pero tengo una mala cabeza q cuando la busco, me lío y no
la encuentro...), pero me surge una duda. Si hago el insert y, justo antes
de hacer la select @@identity otra consulta hace otro insert similar (otro
usuario en otro ordenador), ¿no me devolvería el último id en vez del q yo
quiero? ¿O se considera q lo coge casi al momento y es prácticamente
imposible que eso suceda? ¿Se comprende lo q quiero decir? (es q si me lío
hasta yo)
Gracias muchas,
un saludo
Respuesta Responder a este mensaje
#4 Accotto Maximiliano D.
26/11/2003 - 15:50 | Informe spam
pues bien!! aca tienes una alternativa q es la siguiente

SELECT IDENT_CURRENT('tabla')

esto te devolvera el ultimo identity de una tabla en particular no
importando si lo hicistes vos u otro usuario.

Un ej:

usuario a mete 100 registros (identity 1 a 100)
usuario b mete 2 registros (identity 101 a 102)

el usuario a sos vos

entonces si haces

select @@identity te dara 100
ahora si haces

select IDENT_CURRENT('tabla')

dara 102

Un saludo




Maximiliano Damian Accotto
"Miguel Tubía" escribió en el mensaje
news:
Hola,
gracias por responder; esa solución me gusta (de hecho acabo de recordar
verla en la ayuda, pero tengo una mala cabeza q cuando la busco, me lío y


no
la encuentro...), pero me surge una duda. Si hago el insert y, justo antes
de hacer la select @@identity otra consulta hace otro insert similar (otro
usuario en otro ordenador), ¿no me devolvería el último id en vez del q yo
quiero? ¿O se considera q lo coge casi al momento y es prácticamente
imposible que eso suceda? ¿Se comprende lo q quiero decir? (es q si me lío
hasta yo)
Gracias muchas,
un saludo


Respuesta Responder a este mensaje
#5 Miguel Tubía
26/11/2003 - 16:01 | Informe spam
Perfecto, muchas gracias socio. Seguramente con la primera opción valdría,
pero más vale asegurar, por si acaso...
Perdona por volverte loco :)
Gracias de nuevo y un saludo
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida