|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Med Zied Ben HmidaÉtudiant Inscription : novembre 2011 Messages : 3 ![]() |
Bonsoir tout le monde,
Alors je travail sur un projet personnel, pour la gestion de mon club pour location et vente de DVD, j'aimerais bien automatiser la tache de mise a jour de Stock a chaque livraison: je m'explique: - j'ai une table pour DVD(NDVD, PrixVente, QteStock, #titre film). - une autre table pour Livraison(Nliv, NDVD, PrixDist) - bien sure d'autre tables pour mon système, ==> Alors ce que je veux faire est une fois je saisi une nouvelle livraison, la QteStock dans la table DVD sera modifier d'une manière automatique, je sais bien que les triggers permettent d'automatiser cette tache, mais j'ai un petit souci Code :
merci d'avance |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Sur Oracle dans les triggers for each row il faut utiliser :old et :new, essaie :
Par contre ne serait ce pas plutôt qtestock - 1 ? |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Med Zied Ben HmidaÉtudiant Inscription : novembre 2011 Messages : 3 ![]() |
Merci pour la réponse:
Alors bien sure j'avais cette idée d'utiliser les :old et :new, Mais si je fais ça je vais avoir la valeur de l'ancien numéros de DVD, alors que ce n'est pas ce que je veux, =>ParExemple: lors d'ajout d'une livraison pour un DVD n°15, la fonction va parcourir la table DVD, pour rechercher le DVD n°15 et elle va incrémenter la valeur de QteStock. |
|
|
00
|
|
|
#4 |
![]() ![]() |
Le IF INSERTING me paraît superflu puisque c'est un trigger AFTER INSERT.
Sinon skuatamad vous a donné la bonne réponse, en utilisant :new plutôt que :old (qui n'a du sens que pour les triggers UPDATE / DELETE). Par contre côté modélisation ça m'a l'air un peu bancal !
__________________
Email : http://scr.im/waldar |
|
00
|
Copyright © 2000-2012 - www.developpez.com