|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre à l'essai
![]() Inscription : avril 2007 Messages : 175 ![]() |
bonjour atous ,
je veux créer un trigger qui se déclanche aprés insertion et qui transforme une prime en euros si la date du champs ANNEE est anterieur a 20001 . sur la table : GAIN (NUJOUEUR, LIEUTOURNOI, ANNEE, PRIME, SPONSOR) j'ai crée le trigger suivant : Code :
mais le méssage d'erreur suivant : UTILISATION INCORRECTE DE LA VARIABLE DE LIAISON DANS LE DECLENCHEUR je trouve pas la soulution merci d'avance de votre aide |
||
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
en AFTER INSERT c'est trop tard pour modifier le :new... faut être en BEFORE INSERT
|
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : avril 2007 Messages : 175 ![]() |
j'ai essayé avec before mais j'ai toujour le même message d'erreur
sur la laigne avec une * au dessous de 2001 |
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
sans :, t'aurais fait une recherche dans le forum, t'aurais trouver tout seul
|
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Inscription : avril 2007 Messages : 175 ![]() |
je lai déja fait avec
mais le déclencheur est crée avec une erreur de compilation et quand je fait show errors j'ai le message suivant symbole "," rencontré a la place d'un des symboles *& ..... |
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
regarde où tu as une virgule et réfléchit à ce qui peut poser problème
|
|
|
00
|
|
|
#7 |
![]() ![]() Consultant en Business Intelligence Inscription : janvier 2007 Messages : 1 192 ![]() |
Peut être sur un nombre
|
|
|
00
|
|
|
#8 | |||
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 319 ![]() |
Citation:
Code :
|
|||
|
|
00
|
|
|
#9 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
si avec ça il ne trouve pas
|
|
|
00
|
|
|
#10 | |
|
Membre expérimenté
![]() Inscription : juillet 2007 Messages : 495 ![]() |
Citation:
Ce qu'il faut savoir par contre, c'est que le :NEW n'est disponible que pour les ordres INSERT et UPDATE, alors que le :OLD ne l'est que pour les ordres DELETE et UPDATE. L'INSERT n'a qu'une nouvelle valeur. Le DELETE n'a qu'une ancienne valeur. Seul le UPDATE a une ancienne et une nouvelle valeur. Mais pour chacun des 3 ordres SQL, la ou les variables disponibles le sont que l'on soit en BEFORE ou en AFTER. Par ailleurs, je doute un peu (beaucoup même) du fait qu'il soit possible de modifier les variables :OLD et :NEW. Ces sont des données récupérées de l'enregistrement qui peuvent être lues, ce ne sont pas des variables de travail.
__________________
Des chercheurs qui cherchent, on en trouve, mais des chercheurs qui trouvent, on en cherche ! |
|
|
|
00
|
|
|
#11 | |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Citation:
|
|
|
|
00
|
|
|
#12 |
|
Membre à l'essai
![]() Inscription : avril 2007 Messages : 175 ![]() |
merci a tous pour vos reponses
j'ai trouvé avec votre aide la soulution et j'ai apré beaucoup de choses le probleme réside dans le chiffre : 0,15244901 il falai remplacé le virgule avec un point |
|
|
00
|
|
|
#13 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 319 ![]() |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com