Toon posts:

[SQL] Triggers

Pagina: 1
Acties:

Verwijderd

Topicstarter
Maak een trigger die, zodra er 10 aantallen verkocht zijn van een artikel, de artikel.klasse in "b" veranderen.

TABLES:

code:
1
2
3
4
5
6
7
8
9
10
11
12
ARTIKEL
[u]artikelnummer[/u]
omschrijving
klasse

FACTUURREGEL
[u]factuurregelnummer[/u]
factuurnummer
artikelnummer
aantal
prijs
btw


Ik had zelf zoiets in gedachte (uiteraard werkt het niet, anders poste ik dit niet ;))

code:
1
2
3
4
5
6
BEGIN

UPDATE artikel SET klasse = 'B' WHERE SUM(aantal);

RETURN NEW;
END;


(PS: BEGIN..END komt uit PGAdmin, de rest doet er ff niet toe, de query is het probleem :()

Tips/antwoord iemand ?? thx!

[ Voor 6% gewijzigd door Verwijderd op 09-12-2004 15:48 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:34
Maak een AFTER trigger op de FactuurRegels tabel, en check in die trigger hoeveel items er verkocht zijn van dat artikel.
Indien meer dan 10 -> update artikel tabel

code:
1
2
3
4
5
UPDATE Artikel
SET mode = 'B'
FROM FactuurRegels
WHERE FactuurRegels.ArtikelId = ArtikelId
HAVING SUM(FactuurRegels.Aantal) >= 10


Zoiets ongeveer denk ik.

[ Voor 37% gewijzigd door whoami op 09-12-2004 15:50 ]

https://fgheysels.github.io/


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Maar moet je ook rekening houden met het feit dat er faktuurregels verwijderd kunnen worden? Wat moet de status weer worden als er na het verwijderen van een regel < 10 artikelen verkocht zijn?

Oops! Google Chrome could not find www.rijks%20museum.nl


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
P_de_B schreef op donderdag 09 december 2004 @ 16:32:
Maar moet je ook rekening houden met het feit dat er faktuurregels verwijderd kunnen worden? Wat moet de status weer worden als er na het verwijderen van een regel < 10 artikelen verkocht zijn?
Sow, ben jij effe wakker :D
Dat was bij mij geheid een "bug melding" geworden :Y)

Maar goed, da's dus een kwestie van effe die statement wat aanpassen... :P

[ Voor 12% gewijzigd door RobIII op 09-12-2004 16:34 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

En wanneer moet je de opgave op school inleveren?
Modbreak:Wat heeft dit met het topic te maken? :? Zullen we het ontopic houden? :)

[ Voor 51% gewijzigd door gorgi_19 op 10-12-2004 09:33 ]


  • Haploid
  • Registratie: Maart 2002
  • Laatst online: 29-12-2021

Haploid

Doh!

Verwijderd schreef op donderdag 09 december 2004 @ 20:47:
En wanneer moet je de opgave op school inleveren?
LOL ;)
Modbreak:Zullen we het ontopic houden? :)

[ Voor 15% gewijzigd door gorgi_19 op 10-12-2004 09:33 ]

Hey, I came here to be drugged, electrocuted and probed, not insulted.

Pagina: 1