Seleccionar el id_autonum al hacer insert.

30/05/2004 - 03:01 por Javier Avila M. | Informe spam
Amigos:
No se si sea posible que al hacer un insert en una tabla
exista alguna forma que Sql me devuelva ese autonumerico
inmediatamente en el momento de hacer la insercion...

Es decir Tengo una tabla pedido en la cual se genera un
autonumerico, y con ese autonumerico tengo que agregar
productos a mi tabla de productos_del_pedido hay alguna
forma de obtener ese id sin tener que hacer una consulta
extensa de todo el registro para obtener ese id, ya que
pueden existir pedidos en un mismo momento y puede haber
confusion de claves...
algo asi como
Select pedido.Id_autonum on insert into ..
es un ejemplo de lo que necesito..

Gracias de antemano

Preguntas similare

Leer las respuestas

#1 Alejandro Leguizamo \(MVP\)
30/05/2004 - 03:10 | Informe spam
Si creas un trigger de insercion puedes obtener ese dato a traves d ela
pseudo tabla inserted. aqui va

CREATE TRIGGER insertar ON [dbo].[TabladeID]
FOR INSERT
AS
tabla llamada prueba
select id into prueba from inserted



ALEJANDRO LEGUIZAMO
MVP SQL - Colombia


"Javier Avila M." wrote in message
news:1500101c445e1$ac0df310$
Amigos:
No se si sea posible que al hacer un insert en una tabla
exista alguna forma que Sql me devuelva ese autonumerico
inmediatamente en el momento de hacer la insercion...

Es decir Tengo una tabla pedido en la cual se genera un
autonumerico, y con ese autonumerico tengo que agregar
productos a mi tabla de productos_del_pedido hay alguna
forma de obtener ese id sin tener que hacer una consulta
extensa de todo el registro para obtener ese id, ya que
pueden existir pedidos en un mismo momento y puede haber
confusion de claves...
algo asi como
Select pedido.Id_autonum on insert into ..
es un ejemplo de lo que necesito..

Gracias de antemano

Respuesta Responder a este mensaje
#2 Javier Avila M.
30/05/2004 - 03:41 | Informe spam
Gracias Alejandro:
Aunque no efectivamente lo que queria hacer era un trigger.
ya que supongamos que la insercion es por pasos..
1º digita sus datos y al continuar... aparece Su id de pedido es (XXXX)
sus cantidad productos son 0 por el momento.

lo que me complica es que existen usuarios comunes por lo que insertar en
otras tablas me complica... no se si me explico correctamente.
Gracias :)

"Alejandro Leguizamo (MVP)" escribió en el mensaje
news:%
Si creas un trigger de insercion puedes obtener ese dato a traves d ela
pseudo tabla inserted. aqui va

CREATE TRIGGER insertar ON [dbo].[TabladeID]
FOR INSERT
AS
tabla llamada prueba
select id into prueba from inserted



ALEJANDRO LEGUIZAMO
MVP SQL - Colombia


"Javier Avila M." wrote in message
news:1500101c445e1$ac0df310$
> Amigos:
> No se si sea posible que al hacer un insert en una tabla
> exista alguna forma que Sql me devuelva ese autonumerico
> inmediatamente en el momento de hacer la insercion...
>
> Es decir Tengo una tabla pedido en la cual se genera un
> autonumerico, y con ese autonumerico tengo que agregar
> productos a mi tabla de productos_del_pedido hay alguna
> forma de obtener ese id sin tener que hacer una consulta
> extensa de todo el registro para obtener ese id, ya que
> pueden existir pedidos en un mismo momento y puede haber
> confusion de claves...
> algo asi como
> Select pedido.Id_autonum on insert into ..
> es un ejemplo de lo que necesito..
>
> Gracias de antemano
>


Respuesta Responder a este mensaje
#3 Miguel Egea
30/05/2004 - 20:50 | Informe spam
Yo no lo haría así, creo que no es buena idea de hecho, simplemente haz que
tu sentencia sql sea esta

Set nocount on insert into tutabla (campo1,campo2) values (valor1, valor2)
select scope_identity() as valordeidentidad
y lo ejecutas por ejemplo con un executescalar si estás en .net

Saludos
Miguel Egea
"Javier Avila M." escribió en el mensaje
news:
Gracias Alejandro:
Aunque no efectivamente lo que queria hacer era un trigger.
ya que supongamos que la insercion es por pasos..
1º digita sus datos y al continuar... aparece Su id de pedido es (XXXX)
sus cantidad productos son 0 por el momento.

lo que me complica es que existen usuarios comunes por lo que insertar en
otras tablas me complica... no se si me explico correctamente.
Gracias :)

"Alejandro Leguizamo (MVP)" escribió en el mensaje
news:%
> Si creas un trigger de insercion puedes obtener ese dato a traves d ela
> pseudo tabla inserted. aqui va
>
> CREATE TRIGGER insertar ON [dbo].[TabladeID]
> FOR INSERT
> AS
> tabla llamada prueba
> select id into prueba from inserted
>
>
>
> ALEJANDRO LEGUIZAMO
> MVP SQL - Colombia
>
>
> "Javier Avila M." wrote in message
> news:1500101c445e1$ac0df310$
> > Amigos:
> > No se si sea posible que al hacer un insert en una tabla
> > exista alguna forma que Sql me devuelva ese autonumerico
> > inmediatamente en el momento de hacer la insercion...
> >
> > Es decir Tengo una tabla pedido en la cual se genera un
> > autonumerico, y con ese autonumerico tengo que agregar
> > productos a mi tabla de productos_del_pedido hay alguna
> > forma de obtener ese id sin tener que hacer una consulta
> > extensa de todo el registro para obtener ese id, ya que
> > pueden existir pedidos en un mismo momento y puede haber
> > confusion de claves...
> > algo asi como
> > Select pedido.Id_autonum on insert into ..
> > es un ejemplo de lo que necesito..
> >
> > Gracias de antemano
> >
>
>


Respuesta Responder a este mensaje
#4 Sanchez Arnoletto Martin Rodrigo
19/06/2004 - 17:39 | Informe spam
Puedes usar:


set nocount on insert into tabla set @id=(select @@identity) set nocount off
te quedara la identidad en @id

Saludos...

Ing Martin R Sanchez
Menorca - España

"Javier Avila M." escribió en el mensaje
news:1500101c445e1$ac0df310$
Amigos:
No se si sea posible que al hacer un insert en una tabla
exista alguna forma que Sql me devuelva ese autonumerico
inmediatamente en el momento de hacer la insercion...

Es decir Tengo una tabla pedido en la cual se genera un
autonumerico, y con ese autonumerico tengo que agregar
productos a mi tabla de productos_del_pedido hay alguna
forma de obtener ese id sin tener que hacer una consulta
extensa de todo el registro para obtener ese id, ya que
pueden existir pedidos en un mismo momento y puede haber
confusion de claves...
algo asi como
Select pedido.Id_autonum on insert into ..
es un ejemplo de lo que necesito..

Gracias de antemano

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