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 17/05/2007, 12h42   #1
Invité de passage
 
Inscription : mai 2007
Messages : 1
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 1
Points : 1
Points : 1
Par défaut trigger et procedure stockée

hi :

je veux créer un trriger qui me permet d'empecher la mise a jour de certaines colonnes d'une table ds la cas de violation des regles d'integrite , et comme les triggers de mysql ne suporttent pas les rollback ainsi que l'affichage des msg d'erreur (comme sous oracle : raise application error), j'ai pense a utilisé une procedure stockées qui va faire ca et qui va etre appele depuis le trrigers .

so es que qlq peut m'aider avec un petit tuto , ou un lien ?

merci d'avance
meyya est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 10h35   #2
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
D'abord il faut noter que Oracle comme MySQL interdit d'exécuter COMMIT ou ROLLBACK dans le code d'un trigger.

Ensuite, simuler la fonction Oracle raise_application_error consiste pour l'instant simplement à générer une erreur d'après cette discussion (en anglais):
- ne pas respecter une contrainte de type clé primaire, colonne non null, ou clé étrangère
- exécuter une procédure stockée qui n'existe pas
- créer une fonction UDF (assez compliqué ...).
Le code client doit ensuite explicitement reconnaître cette erreur et savoir la traduire correctement.
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2007, 11h25   #3
Membre habitué
 
Avatar de elvan49
 
Laurent
Développeur Web
Inscription : octobre 2006
Messages : 226
Détails du profil
Informations personnelles :
Nom : Laurent
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2006
Messages : 226
Points : 141
Points : 141
Envoyer un message via Skype™ à elvan49
Par défaut si je comprends bien...

Bonjour,
j'ai un souci du même ordre.
Si je comprends bien pifor, le déroulement pourrait être celui-ci :
1 - j'ai un INSERT
2 - j'ai un TRIGGER qui vérifie qu'il n'y a pas doublon (je sais il suffit de mettre UNIQUE) mais admettons...
3 - il ya doublon je fais une requête pourrie, ça annule mon INSERT
4 - il n'y a pas doublon j'éxécute l'insert...

C'est ça ? :aie:
__________________
"n'imprimez ces messages que si nécessaire... Préservez notre planète"
elvan49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2007, 21h59   #4
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
disons plutôt :
2/ j'ai un trigger BEFORE INSERT...
...
4/ l'INSERT s'exécute tout seul
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun 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 02h35.


 
 
 
 
Partenaires

Hébergement Web