Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en 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 23/02/2007, 10h41   #1
Invité de passage
 
Inscription : janvier 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 2
Points : 1
Points : 1
Par défaut Création de triggers sous PHPMyAdmin

Bonjour.

Je me retrouve avec un petit souci pour créer des triggers pour MySQL.

J'ai un message d'erreur qui me dit que
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 'FLOAT(9,3)' at line 4
Malheureusement, ce code passe très bien sur un serveur personel avec la même version de MySQL.

Voici le trigger :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
CREATE TRIGGER `Alignement_Service` AFTER UPDATE ON `Personne`
  FOR EACH ROW
BEGIN
  DECLARE i FLOAT(9,3);
 
  SELECT Service.USED_TIME
  INTO   i
  FROM   Service
  WHERE  Service.ID = NEW.SERVICE_ID;
 
  SET i = i + NEW.USED_TIME - OLD.USED_TIME;
 
  IF NEW.USED_TIME <> OLD.USED_TIME THEN
    UPDATE Service
    SET    Service.USED_TIME = i
    WHERE Service.ID = NEW.SERVICE_ID;
  END IF;
 
END;
Si quelqu'un avait une idée, ce serait sympa.
MakorDal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2007, 01h20   #2
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
C'est normal, phpMyAdmin n'accepte pas les BEGIN/END, à cause des points-virgules multiples. Il faut que tu passes par exemple par l'API PHP.
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2007, 18h50   #3
Invité de passage
 
Inscription : janvier 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 2
Points : 1
Points : 1
Si je comprend bien, je dois utiliser un script php qui lancera le code SQL pour créer le trigger ?
Ok, je vais tester ca.
MakorDal est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h18.


 
 
 
 
Partenaires

Hébergement Web