Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment insérer dans deux tables à la fois dans une procédure stockée ?

Vous devez faire quelque chose comme ceci :

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 : Renvoie la dernière valeur d'identité insérée dans une colonne d'identité dans la même portée. Une portée est un module :une procédure stockée, un déclencheur, une fonction ou un lot. Par conséquent, deux instructions sont dans la même portée si elles se trouvent dans la même procédure stockée, fonction ou lot.