Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come inserisco in due tabelle tutte contemporaneamente in una procedura memorizzata?

Devi fare qualcosa del genere:

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 : Restituisce l'ultimo valore identity inserito in una colonna identity nello stesso ambito. Un ambito è un modulo:una procedura memorizzata, un trigger, una funzione o un batch. Pertanto, due istruzioni rientrano nello stesso ambito se si trovano nella stessa procedura, funzione o batch archiviata.