sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo inserto en dos tablas a la vez en un procedimiento almacenado?

Tienes que hacer algo como esto:

DECLARE @NewID INT

INSERT INTO Customer(LastName,FirstName,......) VALUES(Value1, Value2, .....)

SELECT @NewID = SCOPE_IDENTITY()

INSERT INTO Employment(CID,Employer,.....) VALUES(@NewID, ValueA,..........)

SCOPE_IDENTITY : Devuelve el último valor de identidad insertado en una columna de identidad en el mismo ámbito. Un ámbito es un módulo:un procedimiento almacenado, desencadenador, función o lote. Por lo tanto, dos declaraciones están en el mismo ámbito si están en el mismo procedimiento almacenado, función o lote.