Acceder al campo "autonumerado" que creó un Insert dentro de un SP

21/11/2005 - 20:59 por Marcelo Clavero | Informe spam
Estimados:

Tengo un SP que hace un insert sobre una tabla cuya PK es un autonumerado.
Dentro del mismo SP, necesito hacer otro Insert, que guarde en otra tabla,
el autonumerado que se generó en el anterior insert.

Ejemplo:
CREATE PROCEDURE RegistrarContacto
@nombre varchar(100) = null,
@direccion varchar(150) = null,
@telefono1 varchar(50) = null,
@descripcion varchar(100)=null,
@es_corredor bit
AS

autonumerado.
INSERT INTO CON_Contactos (nombre,direccion, telefono1)
VALUES (@nombre,@direccion, @telefono1)
GO

id_contacto generado en tabla anterior.
IF @es_corredor
INSERT INTO CON_Corredores (id_contacto, descripcion) VALUES(<no sé que
poner aquí>,@descripcion)
GO

Espero que con este ejemplo me puedan ayudar.
Muchas gracias desde ya por vuestro tiempo.

Saludos.
Marcelo
 

Leer las respuestas

#1 Isaias
21/11/2005 - 22:35 | Informe spam
DECLARE @MyIdentity INT

autonumerado.
INSERT INTO CON_Contactos (nombre,direccion, telefono1)
VALUES (@nombre,@direccion, @telefono1)
SET @MyIdentity = SCOPE_IDENTITY()
GO

IF @@ROWCOUNT = 0
PRINT 'ERROR, NO SE HIZO EL INSERT'

id_contacto generado en tabla anterior.
IF @es_corredor
INSERT INTO CON_Corredores (id_contacto, descripcion)
VALUES(@MyIdentity,@descripcion)
GO



Saludos
IIslas


"Marcelo Clavero" escribió:

Estimados:

Tengo un SP que hace un insert sobre una tabla cuya PK es un autonumerado.
Dentro del mismo SP, necesito hacer otro Insert, que guarde en otra tabla,
el autonumerado que se generó en el anterior insert.

Ejemplo:
CREATE PROCEDURE RegistrarContacto
@nombre varchar(100) = null,
@direccion varchar(150) = null,
@telefono1 varchar(50) = null,
@descripcion varchar(100)=null,
@es_corredor bit
AS

autonumerado.
INSERT INTO CON_Contactos (nombre,direccion, telefono1)
VALUES (@nombre,@direccion, @telefono1)
GO

id_contacto generado en tabla anterior.
IF @es_corredor
INSERT INTO CON_Corredores (id_contacto, descripcion) VALUES(<no sé que
poner aquí>,@descripcion)
GO

Espero que con este ejemplo me puedan ayudar.
Muchas gracias desde ya por vuestro tiempo.

Saludos.
Marcelo



Preguntas similares