Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1782 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Problème de Triggers sous Mysql 5.022

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de Triggers sous Mysql 5.022

n°1424496
PETOZAK
Posté le 11-08-2006 à 16:07:46  profilanswer
 

Bonjour,
Je dois créer un triggers tres simple:
 

Code :
  1. CREATE TRIGGER queries_Notes BEFORE INSERT ON demandes_conges_temp
  2.   FOR EACH ROW BEGIN
  3.     UPDATE demandes_conges SET status = NEW.accept , validation_date=NOW() WHERE key_query = NEW.qkey;
  4.   END;


 
 
Mais Mysql me renvoit:
Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE demandes_conges SET status=NEW.accept , validation_date=NOW() where key_q' at line 4
(0 ms taken)
 
Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END
CREATE TRIGGER testref BEFORE INSERT ON test1
  FOR EACH ROW BEGIN
   END' at line 1
(0 ms taken)
 
Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE demandes_conges SET status = NEW.accept , validation_date=NOW() WHERE key' at line 3
(0 ms taken)
 
Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END' at line 1
(0 ms taken)
 
 
J'utilise SQL Yog...
Je comprend vraiment pas...
meme les exemples du site MySQL marche pas...
A part les tres basique comme:

Code :
  1. mysql> CREATE TRIGGER ins_sum BEFORE INSERT ON account
  2.     -> FOR EACH ROW SET @sum = @sum + NEW.amount;

mood
Publicité
Posté le 11-08-2006 à 16:07:46  profilanswer
 

n°1669205
zetoune
Posté le 10-01-2008 à 17:19:25  profilanswer
 

Bon je réanime ce topic même genre de problème sauf que c'est mysql 5.03  
 
En fait, le trigger fonctionne si je l'écrit comme ça;
 

Code :
  1. CREATE TRIGGER upd_HDOTA AFTER INSERT ON program
  2. FOR EACH ROW
  3.   SET @Test = 1;


 
Mais si j'ajoute BEGIN ... END , ça ne fonctionne plus
 

Code :
  1. CREATE TRIGGER upd_HDOTA AFTER INSERT ON program
  2. FOR EACH ROW BEGIN
  3.   SET @Test = 1;
  4.         END;


 
ou  
 

Code :
  1. DELIMITER //
  2. CREATE TRIGGER upd_HDOTA AFTER INSERT ON program
  3. FOR EACH ROW BEGIN
  4.   SET @Test = 1;
  5.         END;//


 
J'ai une erreur qui dit : You have an error in your SQL syntax; Quelqu'un a une idée?

n°1719289
adilol
Posté le 17-04-2008 à 16:30:29  profilanswer
 

bonjour tout le monde,
 
 
 
 
 
SVP,aidez moi,j ai un probleme a resoudre dans 24h c tellement urgent.
 
 
 
voici le probleme:
 
 
 
je dois creer un trigger qui fait afficher un message d erreur ou changer etat de la commande si date_livraison est moins de 3 jours de la date_commande.
 
 
 
je vous transmis ce que j ai pu faire et aussi l enoncé du probleme et la table commande.
 
 
 
merci
 
et aussi je dois creer un trigger qui fait automatiquement la mise a jour de la qte en stock.
 
 
 
merci beaucoup
 
 
 
voici mon email:  adilmy@hotmail.com
 
 
 
 
 
 
 
 
Pour une commande standard (achat d’un bouquet standard), la cyberboutique  
garantit la disponibilité en inventaire des items composant le  
bouquet seulement si la commande a été passée au moins 3 jours avant la  
date de livraison. Pour les commandes standards effectuées moins de 3  
jours avant la date de livraison, c’est le client qui assume le risque. Il est  
donc très important d’informer ces clients d’une éventuelle pénurie. L’état  
de la commande sera alors « VINV »
 
-------------------------------------------
 
table commande.
 
 
 
 
 
 
 
CREATE TABLE Commande (
      no_Commande                 INTEGER NOT NULL CONSTRAINT pk_Commande PRIMARY KEY,
      courriel                    VARCHAR (40) NOT NULL,
      date_Commande               DATE NOT NULL,
      date_livraison              DATE NOT NULL,
      adresse_Livraison           VARCHAR(80) NOT NULL,
      message_Arrangement_Floral  VARCHAR(80) NOT NULL,
      etat_commande               VARCHAR(80) NOT NULL,
      code_etat                   CHAR(10) NOT NULL,
      typeCommande                VARCHAR(80) NOT NULL,
CONSTRAINT fk_Commande_Client FOREIGN KEY (courriel) REFERENCES Client (courriel),
CONSTRAINT chk_typeCommande CHECK (typeCommande IN('commandeStandard','commandePersonalisee'))
);
 
 
 
---------------------------------------------------------------------
 
 
 
 
 
 
 
SVP J ATTEND VOS REPONSES DANS MOINS DE 24H MERCI BEAUCOUP A VOTRE AIDE!!

n°1719291
adilol
Posté le 17-04-2008 à 16:33:16  profilanswer
 

voici le trigger que j ai pu faire
 
 
BEFORE INSERT
ON COMMANDE
FOR EACH ROW
BEGIN
 IF (:new.date_commande = :new.date_livraison - 3 )
 THEN raise_application_error(-20001,'état de commande est VINV,le client assume le risque de penurie');
 END IF;
END;
 
 
 
aidez moi svp a le resoudre

n°1719392
adilol
Posté le 17-04-2008 à 18:37:18  profilanswer
 

allo,y a quelqu un qui peut m aider la dessus?

n°1719574
zetoune
Posté le 18-04-2008 à 01:53:39  profilanswer
 

c'est quoi le problème ?


Message édité par zetoune le 18-04-2008 à 01:54:03
n°1719576
adilol
Posté le 18-04-2008 à 02:42:50  profilanswer
 

le probleme c est que ce trigger ne marche pas.
 
normalement,ca doit afficher ou donner un message si par exemple:
 
date_commande= 12/04/2008
date_livraison= 13/04/2008
 
dans ce cas,il a y une diff de 1 jour entre date de commande et date de livraison,donc l'état_commande doit etre VINV( c a d verification inventaire)
 
j ai deja crée les tables,et si je met l'insertion de ces deux dates,le trigger ne marche pas.
 
c ca mon probleme.
 
j'espere que m explication etait un peu claire.
 
svp,c urgent je dois resoudre ce probleme dans 24h.

n°1719577
adilol
Posté le 18-04-2008 à 02:44:21  profilanswer
 

je travaille avec pl/sql et j utilise aqua data studio 4.7

n°1719578
adilol
Posté le 18-04-2008 à 02:45:24  profilanswer
 

svp! lire ce que j ai écris sur ce probleme dans m 1er message!!!
 
merci!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Problème de Triggers sous Mysql 5.022

 

Sujets relatifs
problème avec une fonction qui renvoie un pointeur de charProblème tri de dates par année puis mois
Windev 10 problème suite aux mails[résolu] Problème réplication MySQL
Problème création graphique automatisée[HTML-CSS] Problème de DOCTYPE
problème installation mediawiki en localprobleme de resultat retourné par une variable
[Access] Problème de SQL 
Plus de sujets relatifs à : Problème de Triggers sous Mysql 5.022


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR