Si je mets en place un déclencheur AFTER dans PostgreSQL après une insertion/mise à jour, le logiciel appelant devra-t-il attendre que le déclencheur se termine avant de renvoyer le contrôle au logiciel appelant? Ou le déclencheur fonctionnera-t-il seul dans les coulisses?Un déclencheur AFTER dans Postgres bloque-t-il un insert/update?
11
A
Répondre
13
Oui, car il est exécuté dans la même transaction. Si le déclencheur échoue, l'insertion/mise à jour échouera également. Faites simplement un test en exécutant une requête qui échouera (SELECT une table qui n'existe pas) et vous pourrez voir comment les choses fonctionnent et comment votre application va se comporter.
CREATE OR REPLACE FUNCTION foo() RETURNS TRIGGER
AS
$$
BEGIN
EXECUTE 'SELECT fail';
END;
$$
LANGUAGE plpgsql;
+0
est-il un moyen d'éviter cela? Cela signifie que l'opération d'insertion/mise à jour ne doit pas échouer même si le déclenchement échoue. – Zoran777
Questions connexes
- 1. Comment développer un déclencheur after serverror dans Oracle?
- 2. Comment puis-je utiliser "IF instructions" dans un déclencheur postgres
- 3. Différence de Postgres dans la vitesse d'exécution du déclencheur?
- 4. déclencheur AFTER INSERT échoue lorsque plus d'une ligne à jour
- 5. Comparaison de champs dans un déclencheur
- 6. Problème avec UTL_FILE.FCOPY dans un déclencheur
- 7. comment déboguer un déclencheur récursif
- 8. Comment écrire un déclencheur récursif
- 9. Comment changer une valeur de colonne dans le déclencheur AFTER INSERT?
- 10. Passer un paramètre CSV dans Postgres
- 11. Exécuter la procédure dans un déclencheur
- 12. autorisations pour créer un déclencheur dans mysql
- 13. PostgreSql - Contrainte pas appliquée par un déclencheur
- 14. Comment faire cela dans un déclencheur SQL Server
- 15. jquery submit * after * validation ajax par un tiers
- 16. Comment ajouter un déclencheur à Updatepanel où l'événement pour le déclencheur se trouve dans un contrôle utilisateur dans le répéteur?
- 17. Créer un déclencheur sql dynamiquement et restaurer si erreur
- 18. Raising errors in After Triggers Sql Server 2005
- 19. Jquery .after() problème d'IE
- 20. netbeans - scp after build
- 21. Comment convertir un intervalle en un nombre d'heures avec postgres?
- 22. Postgres - Comment vérifier un tableau vide
- 23. Fractionnement un intervalle en semaines Postgres
- 24. javascript callback after loop
- 25. Les tables 'insérées' et 'effacées' sont-elles garanties de renvoyer leurs enregistrements dans le même ordre dans un déclencheur AFTER UPDATE?
- 26. Comment créer un déclencheur de table avec DBD :: SQLite?
- 27. mettre à jour le même enregistrement qui déclenche un déclencheur
- 28. postgres trigger creation
- 29. UISpec4J: Renvoyer un déclencheur d'une sélection Combobox?
- 30. Erreur dans mon déclencheur
Si vous avez besoin quelque chose à finir « dans les coulisses » votre déclencheur pourrait utiliser dblink_send_query http://www.postgresql.org/docs/current/static/contrib-dblink-send-query.html pour envoyer un demande asynchrone dans votre déclencheur - en fonction de vos besoins. – rfusca