Trigger sur MySQL

Fermé
leoetevan Messages postés 110 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 16 juillet 2012 - 12 févr. 2010 à 11:15
leoetevan Messages postés 110 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 16 juillet 2012 - 13 févr. 2010 à 17:58
Bonjour,

Je sais à peu près faire un trigger sur un base Oracle mais à priori, sur MySql c'est pas tout à fait la même. A vrai dire, je ne sais même pas où il faut que je tape mon code. J'ai vu sur un autre forum qu'il fallait le faire via la console MySQL mais je ne sais pas si c'est vraiment le cas.

Pour commencer, je voudrais faire un trigger très basique du genre

DELIMITER $$
create or replace trigger insertDep
before insert or update on entreprise
for each row

Begin

update entreprise set entDepartement=substring(:new.entCodePostal,0,2);

End$$

Je voudrais savoir s'il y a des erreurs dans le code et où il faut l'insérer.
Pour les bases oracles, j'utilisais SqlDevelopper, n'existe t'il pas un logiciel équivalent pour MySql?

Merci d'avance

3 réponses

leoetevan Messages postés 110 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 16 juillet 2012 2
12 févr. 2010 à 11:52
Je viens de trouver un truc pour utiliser sqlDevelopper pour my sql mais mon trigger ne passe toujours pas. J'ai vu aussi qu'il ne fallait pas mettre :new mais juste new

Après modif de mon code, j'ai celui ci:

delimiter $$
create or replace trigger insertDep
before insert or update on entreprise
for each row

Declare
set @codPost = new.entCodePostal;
set @dep = substring(@codPost,0,2);

Begin

update entreprise set entDepartement=@dep;

End$$
delimiter;

Mais il me retourne toujours la même erreur:
Une erreur s'est produite lors de l'opération demandée:
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 'delimiter $$' at line 1

Code fournisseur 1064Erreur à la ligne : 1
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
13 févr. 2010 à 11:23
http://dev.mysql.com/doc/refman/5.0/fr/create-trigger.html
0
leoetevan Messages postés 110 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 16 juillet 2012 2
13 févr. 2010 à 17:58
Ca ne m'aide pas bcp ça! Je n'arrive pas à trouver mon erreur
0