|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Inscription : janvier 2005 Messages : 232 ![]() |
Hello,
Je souhaite récupérer la liste des triggers depuis une session ouverte à partir de l'utilisateur propriétaire de ce(s) trigger(s) la commande show triggers ne semble pas me convenir car je dois récupérer la liste des triggers depuis un script sql. J'utilise principalement MySQL 5 mais une solution pour la version 4 m'intéresse également. Je ne trouve pas l'équivalent de ce que je fais sur oracle et sql server, à savoir sur ORACLE: select trigger_name from user_triggers; depuis un script PL/SQL et des curseurs. Merci de votre aide |
|
|
00
|
|
|
#2 |
![]() Inscription : juillet 2002 Messages : 537 ![]() |
Salut,
Pourquoi SHOW TRIGGERS ne te convient pas ? Cela revient à faire un SELECT, mais dont le nombre de colonnes est fixé. Si j'ai bien compris, tu veux quelque chose comme ceci : Avec MySQL 5.1, il sera possible de faire la même chose en utilisant INFORMATION_SCHEMA, car ils ont rajouté la colonne "Definer" dans la table triggers. Il n'existe pas de solution pour MySQL 4, étant donné que les triggers sont apparus à partir de la 5 |
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() Inscription : janvier 2005 Messages : 232 ![]() |
Effectivement, pour MySQL 4 c'est une bonne raison, ou avais je la tête ?
Quelques précisions supplémentaires : Je dois exécuter cette requête depuis un utilisateur lambda (root ou utilisateur avec privilèges de type admin interdit). INFORMATION_SCHEMA peut elle être consultée par un utilisateur lamdba ? Avec ORACLE (que je connais beaucoup mieux par exemple par contre, j'avoue que le show triggers me laisse perplexe, car cette commande me balance toutes les informations à la manière d'un select *. Je vais essayer cela, je vais bien voir ... DECLARE cur1 CURSOR FOR show triggers; |
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Inscription : janvier 2005 Messages : 232 ![]() |
pb résolu. J'ai mes infos. Merci Biglo
La table triggers a été ajouté à INFORMATION_SCHEMA à partir de la 5.0.10. Donc la requête suivante permet d'obtenir les infos qu'il me faut à partir de cette version. select trigger_name from INFORMATION_SCHEMA.triggers; Et ce depuis n'importe quel schema, pas besoin d'être root. Par contre, il n'y a pas de colonne STATUS indiquant l'état de l'objet comme sur les autres bases. Je suppose que si le trigger est "invalide" il n'est pas présent. Bye Voran |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com