[mysql]trigger et procédure stockée

Fermé
iulius Messages postés 34 Date d'inscription mardi 20 mars 2007 Statut Membre Dernière intervention 12 juin 2007 - 27 mars 2007 à 12:34
Hicks59 Messages postés 51 Date d'inscription samedi 14 juin 2008 Statut Membre Dernière intervention 28 août 2008 - 22 août 2008 à 02:56
Bonjour,

J'ai un soucis, chui en stage dans une entreprise et j'utilise une config mysql.Je vous explique mon pb :
imaginons j'ai deux tables : client et majclient ( je sais ici ça n'a pas d'intéret mais c'est un exemple)
J'aurais voulu savoir s'il est possible avec un trigger et surment une procédure stockée de mettre à jour la table majclient pour chaque opértation sur la table client ( que ce soit un update, un delet ou un insert)?

y a-t-il des gens qui ont déjà fait ça ici? histoire de savoir si je me lance dans un truc impossible ou pas

à moins que vous ne voyez d'autre(s) solution(s).

Soyez sympa avec moi c'est pas mon domaine de prédilection le dev ...

Merci d'avance , Iulius

7 réponses

fidji-florian
16 oct. 2007 à 17:25
Yop... un peu en retard je pense mais ça marche
www.google.ch.. va t'aider
5
a l'aide je ve spécifié une erreur dans un trigger sous mysql mais ji arrive po voici le trigger

delimiter /

create trigger trigger_1 before insert on client
for each row
begin
declare err_client char;
select count (nom_client) from client into err_client;
if nom_client = 'alaoui' then
insert into error_table set msg = 'erreur';
end if
end
/
delimiter;
aidé moi svp
2
Quel est le message d'erreur?
0
Il se peut que ta requête COUNT retourne un nombre à 2 chiffres... ce qui pose problème à stocker dans un 'char'

Pourquoi ne pas le changer pour INTEGER?
0
Ah je viens de réaliser aussi que : " if nom_client = 'alaoui' then " contient une variable non déclarée : nom_client.

Essaye de la changer par NEW.nom_client si "nom_client" est un champ dans la table client.
0
iulius Messages postés 34 Date d'inscription mardi 20 mars 2007 Statut Membre Dernière intervention 12 juin 2007 70
27 mars 2007 à 14:50
non vraiment personne pour m'aider?
0
iulius Messages postés 34 Date d'inscription mardi 20 mars 2007 Statut Membre Dernière intervention 12 juin 2007 70
28 mars 2007 à 10:06
vraiment personne s'y connait ici en mysql ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Hicks59 Messages postés 51 Date d'inscription samedi 14 juin 2008 Statut Membre Dernière intervention 28 août 2008 9
14 juin 2008 à 01:47
un conseil déclare tes variables en varchar pas en char çà évite les surprises
Je faisais çà sous oracle donc çà doit être la même chose sous mysql ou presque ^^
et en effet tu n as pas déclarer ta variable.
0
Si c'est pas trop tard...

au lieu de :

select count (nom_client) from client into err_client;

mettre:

select count (nom_client) into err_client from client;
0
Hicks59 Messages postés 51 Date d'inscription samedi 14 juin 2008 Statut Membre Dernière intervention 28 août 2008 9
22 août 2008 à 02:56
Lut les gens d'après ce que j'ai pu lire les triggers sur mysql ne sont pas fiable, ils sont mis sur la dernière version mais ne marche pas correctement essaye plutot un cron si tu es sur un serv linux qui execute une page php
0