|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Développeur informatique Inscription : décembre 2009 Messages : 169 ![]() |
Bonjour,
J'ai un soucis sur la réalisation d'un trigger. Je m'explique, j'ai 3 tables, COMMANDE, BL et BL_Ligne. Une COMMANDE peut avoir plusieurs BL, un BL n'appartient qu'a une COMMANDE. Un BL peut avoir plusieurs BL_Ligne et un BL_Ligne n'appartient qu'a un BL. Je souhaite qu'a l'insert, l'update et le delete d'un BL, on vérifie que le BL est valide et que chaque BL_Ligne est Valide aussi. Pour ça dans chacune des deux tables on à une propriété Valide de type booléen. Si tous les BL d'une COMMANDE sont "Valide" et que tous les BL_Ligne des BL correspondant sont "Valide" aussi, on considère que COMMANDE est "Soldé". Soldé est aussi un booléen, dans la table COMMANDE. Mon trigger doit donc, en ayant à disposition l'Identifiant du BL et celui de la COMMANDE puisqu'il aura lieu au insert/update/delete d'un BL, vérifié que les BL_Lignes qui lui sont rattachés soient tous "Valide" et que le BL lui même soit "Valide". Il doit de plus chercher tout les autres BL qui correspondent à la COMMANDE, à partir de l'IdCommande. Et donc vérifié de nouveau la validité des BL et des BL_Ligne. Je sais pas si c'est pas un peu confus ce que je raconte. Si vous avez des questions, hésité pas. J'avais fait un petit bout de code complètement faux, mais bon, c'est juste pour vous montrez que j'ai chercher un peu. ![]() Code :
|
||
|
|
00
|
|
|
#2 | |
![]() ![]() |
1) Quel est votre SGBD ?
Il y a des variantes dans le langage et la syntaxe employés pour le SQL procédural selon le SGBD. 2) Le trigger s'applique à quelle table ? Citation:
3) Quel type de BL ? Sont-ce des BL de commandes reçues d'un fournisseur ou des BL de commandes à livrer à un client ? 4) Quel est le processus ? Validation individuelle des lignes puis validation manuelle du BL ou automatique ? L'application permet-elle d'enregistrer en même temps un nouveau BL et toutes ses lignes validées ou bien y a t-il d'abord création du BL puis des lignes puis validation des lignes... ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise la suite Linux Mageïa ! |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Développeur informatique Inscription : décembre 2009 Messages : 169 ![]() |
Vous allez rire, ou pas, mais en faite je suis partie trop loin.
![]() Mon chef de projet vient de me voir et j'ai mal compris la table BL_Ligne. En faite j'ai juste un trigger à faire qui vérifie la validité dans la table BL a l'insert update et delete d'un BL. Ça va être tout de suite moins perché. A part peut être la vérification de chaque BL dans un trigger. |
|
|
00
|
|
|
#4 | ||
|
Nouveau Membre du Club
![]() Développeur informatique Inscription : décembre 2009 Messages : 169 ![]() |
Voilà mon nouveau code:
Code :
La première, c'est au sujet de la gestion des tables Inserted et Deleted, la manière utilisé est elle bonne? L'autre question c'est de savoir si en fessant comme ça, je lis bien toutes les lignes de la table #Result que j'ai créée avant de faire le IF, si c'est pas le cas, bah ça sert à rien, je me trompe donc. Si vous pouviez m'éclairé. Merci. |
||
|
|
00
|
|
|
#5 | ||
|
Nouveau Membre du Club
![]() Développeur informatique Inscription : décembre 2009 Messages : 169 ![]() |
J'ai finalement fait une simple reqête avec un count.
Code :
|
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com