Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie füge ich in einer gespeicherten Prozedur gleichzeitig in zwei Tabellen ein?

Sie müssen etwa so vorgehen:

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 : Gibt den letzten Identitätswert zurück, der in eine Identitätsspalte im selben Bereich eingefügt wurde. Ein Bereich ist ein Modul:eine gespeicherte Prozedur, ein Trigger, eine Funktion oder ein Batch. Daher befinden sich zwei Anweisungen im selben Gültigkeitsbereich, wenn sie sich in derselben gespeicherten Prozedur, Funktion oder demselben Batch befinden.