Danke Dir für die Mühe, ich werde es lokal mal mit dem Trigger probieren und dann schauen. Evtl. werde ich nochmals darauf zurückkommen, wenn es auf SQL-Server laufen kann.
Derzeit ist es auch nur ein kleiner Shop-versuch, irgendwie hatte ich das Gefühl, muss ich mal sowas machen :-) um nicht aus der Übung zu kommen. Diese Temp-Spalte hatte ich sowieso eingeplant, anders geht es ja nicht.:-) Wenn die Bestellung dann abgeschickt wird, könnte ich die die Realspalte updaten und wenn im Laufe der Aktionen tempSpalte 0 ist, wird der Artikel auf nichtaktiv gesetzt, d.h., die Artikel, die sich im Warenkorb befinden, sind dann alle noch verfügbar. Danke Frank, manchmal braucht man einfach einen kleinen Stubs :-) ------- Herzliche Grüße Gudula > -----Ursprüngliche Nachricht----- > Von: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] Auftrag von Frank Matthiesen > Gesendet: Freitag, 19. August 2005 11:30 > An: [email protected] > Betreff: Re: [Coffeehouse] Lagerverwaltung im Warenkorb > > > Gudula Schwingenheuer wrote: > > > Also Du meinst einen left join Artikel und Warenkorb mit Abzug der > > jeweiligen Menge vom Lagerbestand. Das ist ja eigentlich logisch. > > Jepp... > > >> Bestellt der erste Kunde nicht, so werden die Artikel wieder aus der > >> Zwischentabelle gelöscht und der Lagerbestand bleibt unverändert. > >> Könntest Du evtl. mit einer Extraspalte in der Lagerverwaltung > >> lösen (eine Art "Artikel ist mit Menge in irgendeinem Warenkorb") > >> und das ganze dann mit Triggern handeln. > > > > Läuft zur Zeit noch auf Access. > > Wird aber später evtl. auf MSSQL umgeschrieben. > > Ich habe bislang wenig mit Triggern gemacht bzw. es ist schon > > ziemlich lang her, hättest Du mal ein Beispiel dafür? > > Wenn das derzeit unter "Eckes" löppt, bringen Dir Trigger ja nix. > > Aber so als Beispiel mit einer Extra-Spalte im Warenbestand > (Aktion: User fügt Daten in Warenkorb ein...Trigger läuft auf tbl_warenkorb > für insert) > > CREATE trigger dbo.t_tbl_warenkorb_ins > on dbo.tbl_warenkorb > for insert > as > > DECLARE @artikelnr AS VARCHAR(100) > DECLARE @menge AS VARCHAR(100) > > SET @artikelnr = (SELECT artikelnr FROM inserted) > SET @menge = (SELECT menge FROM inserted) > > UPDATE tbl_warenbestand > SET tempmenge = realmenge - @menge > WHERE artikelnr = @artikelnr > > In dem Moment hast Du in der Spalte tempmenge, die derzeit verfügbare Menge > stehen. > Diese Menge ist führend bei neuen Bestellungen/Usern. > Wenn Kunde den Artikel wieder aus dem Warenkorb löscht, erhöht sich > tempmenge um die gelöschte Menge. > > Vorteil: in Spalte realmenge steht immer noch der derzeitige reale > Warenbestand > > Gruss > > Frank > > > > > > > _______________________________________________ > Coffeehouse Mailingliste, Postings senden an: > [email protected] > An-/Abmeldung und Suchfunktion unter: > http://www.glengamoi.com/mailman/listinfo/coffeehouse > _______________________________________________ Coffeehouse Mailingliste, Postings senden an: [email protected] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/coffeehouse
