Précédent   Forum des professionnels en informatique > Bases de données > MySQL
MySQL Forum d'entraide MySQL. Avant de poster -> FAQ MySQL, Tutoriels MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/02/2011, 15h36   #1
Invité de passage
 
Inscription : juin 2008
Messages : 40
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 40
Points : 4
Points : 4
Par défaut TRIGGER MySQL phpMyAdmin

Bonjour,
voilà je vous explique ce qui m'arrive. Je tente de créer un trigger dans phpMyAdmin. J'ai l'habitude d'effectuer mes requête en PL/SQL ce qui diffère légèrement. Donc voilà mon trigger :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
CREATE OR REPLACE TRIGGER MAJ AFTER DELETE ON TABLE
FOR EACH ROW
BEGIN
   max NUMBER(3);
   SELECT MAX(id) IN max FROM TABLE;
   CURSOR ids IS SELECT TABLE.id FROM TABLE ORDER BY DESC LIMIT OLD.id, max;
   id TABLE.id%TYPE;
   FOR id IN ids LOOP
      UPDATE TABLE SET TABLE.id = max-1 WHERE TABLE.id = max;
    END LOOP
END
Lorsque je l’exécute je change bien mon delimiter en $$.
Voilà l'erreur qui m'est retournée :
#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 'TRIGGER MAJidArticle AFTER DELETE ON article FOR EACH ROW BEGIN ' at line 1
Toute aide serait là bienvenue
Damou56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 18h49   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 990
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 990
Points : 18 240
Points : 18 240
Envoyer un message via MSN à CinePhil
La doc MySQL ne parle de pas de OR REPLACE dans la syntaxe de CREATE TRIGGER.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h01.


 
 
 
 
Partenaires

Hébergement Web