Wegschrijven naar meerdere tabellen

  • Onderwerp starter Onderwerp starter miles
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

miles

Gebruiker
Lid geworden
28 feb 2002
Berichten
788
Hallo,

Ik heb twee tabellen die relationeel gekoppeld zijn.
Het gaat om een klantentabel en een ordertabel. Nu wil ik een order invoeren en daar automatisch het klantID aan koppelen.
De tabel orders bevat ook een veld KlantID en deze moet automatisch gevuld worden met de ID van de klant.

Hoe doe ik dit?


Gr. miles
 
Dat doet je gebruikers applicatie op het moment dat ie het order bevestigd. Dit zou dan een INSERT INTO TabelOrders (OrderID, KlantID,Odergegevens) VALUES ("O1", "K1", "1 pak melk") tot gevolg moeten hebben in je datamodule.

Als je database geen relationele controles doet op foreign keys, dan zul je uit moeten wijken naar een trigger die een controle doet of het KlantID ook echt bestaat.
 
ik had begrepen dat dit met scope_identity kon,
Misschien een voorbeeld?
 
Hallo Miles,

Tot nog toe heb je niet verteld met welke database server je werkt, dus ik kan je niet vertellen of dat wel of niet zo is. Mijn antwoord is dan ook een algemeen antwoord wat bij iedere server werkt.

De term scope_identity komt me in ieder geval niet bekend voor. Misschien dat iemand anders je daarmee verder kan helpen.

Edit: ok, ik heb de term even opgezocht. Van wat ik begrijp is dat je dan de waarde van een colom die bij een insert in klantID ontstaat, binnen dezelfde transactie gaat gebruiken bij de insert in orderID. Bijvoorbeeld: je voert een klant in, en meteen voeg je een nieuwe order toe? Dit had ik niet uit je vraag begrepen.

Kun je nog eens op een andere manier proberen uit te leggen wat je graag wilt bereiken?
 
Laatst bewerkt:
Ik werk met SQL Server 2000.
Het is de bedoeling dat je bijvoorbeeld twee tabellen hebt namelijk orders en klanten.

Nu heb je bijvoorbeeld al een klantenbestand, en een klant daaruit plaatst een order. Dan zal deze order gekoppeld moeten worden aan het klantID. Dit geheel automatisch natuurlijk....

Werk met VB.NET
 
Wat let je dan om via je applicatie te zorgen dat bij de INSERT query de waarde voor het KlantID wordt ingevuld?

Als je de order laat invullen door een medewerker van het bedrijf waarbij de order geplaatst wordt, dan kun je haar de klant laten kiezen uit een rolldown menu die je bij opstarten vult vanuit je Klanten tabel.

Als je de order laat invullen door een medewerker van het bedrijf dat de order plaatst, dan kun je de klantID laten ophalen uit je Klanten tabel op het moment dat die medewerker inlogt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan