Legen Sie eine Join-statement ein – (data in mehrere Tabellen insert) – C # / SQL / T-SQL / .NET

Ich habe eine Winform, die Felder müssen von einem Benutzer gefüllt werden. Alle Felder gehören nicht zu einer Tabelle, die data gehen zur Customer-Tabelle und CustomerPhone-Tabelle, also habe ich beschlossen, mehrere Inserts zu machen. Ich stelle dann adäquate data an CustomerPhone ein und füge dann die Restdaten in die Kundentabelle ein.

Ist es möglich, einen Insert zu verbinden oder einen Join einzufügen? Wenn ich mir eine grobe Probe zeige, werde ich dankbar sein.

Danke vielmals

Streng genommen können Sie Einsätze und Updates in einer einzigen statement mit der OUTPUT-Klausel ketten. Zum Beispiel fügt der Code-Balg sofort in zwei verschiedene Tabellen ein:

create table A ( id_a int not null identity(1,1) primary key, name varchar(100)) create table B ( id_b int not null identity(1,1) primary key, id_a int null, name_hash varbinary(16)); insert into A (name) output inserted.id_a, hashbytes('MD5', inserted.name) into B (id_a, name_hash) values ('Jonathan Doe') select * from A select * from B 

Wenn Sie fragen, ob Sie irgendwie in zwei Tabellen mit einer SQL-statement insert können: Nein, Sie müssen die beiden separaten Insert-statementen machen.

Wenn du etwas anderes verlangst, bitte erläutern

Sie können eine view machen, die diese Spalten hat und einen Einfügen in die view insert. Normalerweise wird eine view, die mehrere Tabellen kombiniert, nicht aktualisierbar – Sie können aber statt eines Triggers einen Auslöser machen, der in beide Tabellen einfügt und / oder Ihre Geschäftslogik erzwingt.

Hier ist ein weiterer Link .

Dies kann ein sehr mächtiges Werkzeug sein, wenn man es in einer organisierten Weise benutzt, um eine Schicht von viewen für beide auswählt und unsts / updates zu machen.