|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Membre actif
![]() Inscription : juin 2004 Messages : 495 ![]() |
Bonjour,
Soit la table ventes: prodno, quantite, montant_ligne Supposons que pour le moment je souhaite renseigner "montant_ligne" avec "quantite * 2" Le plan A serait que le trigger récupère les infos ("prodno" et "quantite") déjà passées par l'ordre insert pour calculer "montant_ligne". Je tente: Code :
Citation:
Donc j'en appelle à votre aide pour le plan B |
|||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Essayer:
Code :
:new.montant_ligne := :new.quantite * 2; |
|
|
00
|
|
|
#3 |
|
Membre actif
![]() Inscription : juin 2004 Messages : 495 ![]() |
ça marche!!!
Merci beaucoup |
|
|
00
|
|
|
#4 | ||
|
Membre actif
![]() Inscription : juin 2004 Messages : 495 ![]() |
Je cite le trigger qui marche pour le moment, je ne sais pas si on peut optimiser:
Code :
Merci encore |
||
|
|
00
|
|
|
#5 | ||||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 450 ![]() |
Tu peux passer un paramètre à un curseur (PS : C'est mieux d'utiliser FOR LOOP que les FETCH pour des boucles comme ceci).
Code :
Sinon, faut faire un SELECT INTO avec gestion d'erreur (on ne fait rien si on trouve pas dans PRODUCTS. Code :
|
||||
|
|
00
|
|
|
#6 |
|
Membre actif
![]() Inscription : juin 2004 Messages : 495 ![]() |
Effectivement, c'est trop excellent!
(Pour la solution 1 je ne vois pas comment passer un paramètre au trigger depuis la fenêtre "Table" de Access; Pour la gestion des erreurs dans la solution 2 je tenterai (( quand j'aurai trouvé où télécharger Forms 6i Win32)) une liste déroulante dynamique sur product_id ou product_description, de façon que l'utilisateur n'entre en "Sales" que des produits déjà renseignés en base.) |
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 450 ![]() |
Heu, j'ai pas dit paramètre au trigger, mais paramètre au curseur
Code :
Le comportement est identique à ton trigger qui marche, c'est juste optimisé. |
||
|
|
00
|
|
|
#8 |
|
Membre actif
![]() Inscription : juin 2004 Messages : 495 ![]() |
Ah! les paramètres au curseur!
Bon donc en gros ça signifie qu'il faut y retourner immédiatement.. Merci encore |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com