Trigger before insert truncate
Ferméjee pee Messages postés 39622 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 23 avril 2024 - 30 nov. 2022 à 16:19
- Truncate insert
- Touche insert - Guide
- Disk boot failure insert system disk and press enter - Guide
- Insert system disk in drive - Forum Windows
- Reboot and select proper boot device or insert boot media in selected boot device and press a key - Forum Windows
- Insert recovery media and hit any key - Forum Matériel & Système
2 réponses
30 nov. 2022 à 12:33
Bonjour,
J'ai trouvé ceci sur un autre forum mais est-ce bien cette méthode ?
30 nov. 2022 à 16:19
Bonjour,
Es-tu sur de vouloir faire un truncate sur la table (qui supprime tous les enregistrements) avant chaque insert ? C'est un type d'utilisation que l'on réserve généralement à une table de travail.
Si on regarde la doc on aura quelque chose comme :
CREATE OR REPLACE TRIGGER vider_employer BEFORE INSERT ON schema.employer BEGIN TRUNCATE TABLE employer; END;
Après TRUNCATE est un ordre SQL de type DDL comme CREATE TABLE, alors que SELECT, INSERT sont des ordres de type DML. La particularité d'un ordre DDL est qu'il est AUTO COMMIT, il valide toutes les opérations en attente de COMMIT. On ne pourra donc pas utiliser une table qui aurait un trigger database avec un TRUNCATE dans une transaction. Transaction au sens d'un ensemble d'ordre SQL cohérents, qui doivent, soit tous être exécutés, soit en cas d'anomalie aucun ne doit l'être.