PostgreSQL
La base de données la plus sophistiquée au monde.

Ouverture de session

Navigation

Contactez-nous

Administration du site :
"equipe chez postgresqlfr point org"

Contact presse :
"fr chez postgresql point org"

Contact association :
"bureau chez postgresqlfr point org"

Questions PostgreSQL :
 IRC :
  serveur irc.freenode.net
  canal #postgresqlfr

Recherche

Accéder aux archives

« Octobre 2008  
Lun Mar Mer Jeu Ven Sam Dim
  2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31  

Syndication

Flux XML

Sondage

Quelle est la version de PostgreSQL la plus répandue sur vos serveurs ?
8.3
10%
8.2
42%
8.1
40%
8.0
2%
7.4
6%
7.3 ou antérieure
0%
Nombre de votes: 48

Trigger à l'issue de transaction

Technique - Langages Procéduraux (PL) | Trigger à l'issue de transaction

Par shama le 22/01/2008 - 12:44

Bonjour,

Y a-t'il moyen de placer des trigger à l'issue d'une transaction ?
J'ai un pb d'intégrité de type contraintes récursives sur 2 tables.

Options d'affichage des commentaires

Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder les paramètres" pour activer vos changements.

Trigger after ?

SAS/ = 23 Janvier, 2008 - 10:34

S'il s'agit d'exécuter le déclencheur à l'issu de la modification de la table, c'est un trigger after. Les trigger sont posés sur des tables.

S'il s'agit de vérifier les contraintes d'intégrité a posteriori, dans ce cas, il faut définir les contraintes "deferrable" et utiliser la commande "set constraints" au moment du démarrage de la transaction.

Librement,
Stéphane Schildknecht
dalibo
PostgreSQLFr


Un énorme merci à toi SAS j

shama/ = 23 Janvier, 2008 - 17:30

Un énorme merci à toi SAS j'étais passé complètement à côté de "deferrable".

Avec des trigger de type
CREATE CONSTRAINT TRIGGER team_check_refs AFTER INSERT OR UPDATE ON test.compagny
DEFERRABLE INITIALLY DEFERRED
FOR EACH ROW EXECUTE PROCEDURE test.compagny_team_check_refs();

=> it's work like a charme ;-)


© PostgreSQLFr, tous droits réservés.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.