Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como insiro em duas tabelas de uma só vez em um procedimento armazenado?


Você precisa fazer algo assim:
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 : Retorna o último valor de identidade inserido em uma coluna de identidade no mesmo escopo. Um escopo é um módulo:um procedimento armazenado, gatilho, função ou lote. Portanto, duas instruções estão no mesmo escopo se estiverem no mesmo procedimento armazenado, função ou lote.