Bonjour,
Sous SQL, je souhaiterais pouvoir executer une procedure sql ou déclencher un trigger au moment du commit (juste avant en fait).
Est ce possible ?
merci
Bonjour,
Sous SQL, je souhaiterais pouvoir executer une procedure sql ou déclencher un trigger au moment du commit (juste avant en fait).
Est ce possible ?
merci
J'espère bien que c'est impossible !
Avec le nombre de commit effectué sur une base de données, c'est vouloir la mort du serveur.
Quelle drôle d'idée, quel besoin justifie ceci ?
Comment ça impossible ! Quel drôle d'idée
bien sûr que c'est possible
Il te suffit d'écrire ta procédure en la nommant de son petit nom
Sous SQL Plus tu l'exécutes comme suit : @taproc
Dernière précision : ne pas oublie de faire un commit en fin de procédure
J'en ai moi-même écrit une que j'ai appelé "com'it !"
Le besoin est le suivant : plusieurs applications insèrent des points avec coordonnées latitude/longitude. J'ai besoin de calculer régulièrement le barycentre de ces points. Je pensais interressant de déclencher ce calcul au commit directement au niveau d'Oracle par un trigger ou une procédure sans avoir à impacter les applications (aujourd'hui mon trigger se déclenchait sur la création ou modification des points, et j'avais un pb de récursivité). Les commits sur ma base ne sont faites explicitement que par les utilisateurs de mes applications : le nombre est donc très limité.
Au lieu de tapper commit;
tu tapes com'it;
et la procédure com'it fait ton code, puis un commit;
Le calcul du barycentre est complexe ? Je ne me souviens plus trop.
Si vous êtes en Oracle 11g, vous pouvez intégrer directement une colonne calculée dans votre table. Sinon, vous pouvez faire une vue avec ce calcul.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager