Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/02/2010, 01:29
Avatar de Beakdan
Beakdan
 
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 4 meses
Puntos: 7
Respuesta: Insert Id en dos Tablas

No deberías tener que hacer algo como esto. Para el escenario que comentas, suena más lógico que el ID de la primera sea un Foreign Key en la segunda.
Pero si tienes que hacerlo, hazlo dentro de una transacción al menos...

Código:
--Realizar un Rollback en caso de error usando XACT_ABORT
--O mejor aún, implementa una rutina que controle los errores
SET XACT_ABORT ON;

DECLARE @LastId AS INT;
BEGIN TRANSACTION;

INSERT INTO InmUbi(Calle, col, del)
    VALUES(@Calle, @col, @Del);
    
SELECT @LastId = SCOPE_IDENTITY();

SET IDENTITY_INSERT dbo.inmDat ON;
INSERT INTO inmDat(Id, m2sup, m2const)
    VALUES(@LastId, @m2sup, @m2const);
SET IDENTITY_INSERT dbo.inmDat OFF;    
COMMIT TRANSACTION;