|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Membre du Club
![]() Inscription : mai 2002 Messages : 611 ![]() |
Bonjour,
Je viens delire ces propos à propos des triggers de base de données Citation:
Pouvez vous me dire pourquoi un trigger défini pour appliquer une règle d'intégrité ne vérifie pas les données chargées dans une table. N'est ce pas là le rôle d'une contrainte d'intégrité? Pouvez-vous me donner un exemple, je vous en remercie beaucoup, je pense que cela me parlera plus. Mercie beaucoup à vous. Cordialement. new_wave
__________________
Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. [SHADOKS] |
|
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
Difficile à dire ce que la personne qui a dit voulait dire et ce que la personne qui a noté a compris de ces affirmations. Probablement qu'il s'agit de ces propos:
How Triggers and Constraints Differ |
|
|
00
|
|
|
#3 |
|
Membre expérimenté
![]() Mohamed HouriInscription : mars 2010 Messages : 286 ![]() |
Utiliser un trigger pour valider une contrainte d'intégrité est une erreur fatale dans un environnement multi-user. Comme les selects ne bloquent pas les update/delete/insert/merge et vice versa (read consistency concept), lorsque vous vérifiez une contrainte d'intégrité dans un environnement concurrent les modifications de l'un peuvent ne pas être visibles par l'autre et la contrainte sera mal validée. Si vous insistez à utiliser le trigger dans ce contexte vous devriez alors sérialiser l'accès à votre table via un explicit "lock table". Cela rendrait votre application non performante et uni-user!!!
Je vous invite à lire ce lien pour plus de détails: http://www.oracle.com/technetwork/is...om-101055.html |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Yannick Ingénieur Etudes & Developpements Inscription : février 2006 Messages : 1 125 ![]() |
Vrai pour les contraintes d'intégrité relationnelle, mais moins vrai pour les contraintes d'intégrité par condition booléenne (CHECK)
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac) |
|
|
00
|
|
|
#5 |
![]() Inscription : décembre 2002 Messages : 2 387 ![]() |
Et si veut on les lire nous aussi, de quel site Web ou livre s'agit-il ?
__________________
Consultant / formateur Oracle indépendant Certifié OCP 10g et 11g, sécurité 11g |
|
|
00
|
|
|
#6 | |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
Citation:
|
|
|
|
00
|
|
|
#7 | |||||
|
Membre expérimenté
![]() Mohamed HouriInscription : mars 2010 Messages : 286 ![]() |
Citation:
Preferez vous une simple contrainte étrangère Code :
Code :
http://asktom.oracle.com/pls/asktom/...53473305799476 |
|||||
|
|
00
|
|
|
#8 | |
|
Membre expérimenté
![]() François Inscription : février 2010 Messages : 306 ![]() |
Citation:
Et pis oracle utilise les contraintes dans le CBO, donc c'est mieux de les utiliser. |
|
|
|
00
|
|
|
#9 | |
![]() ![]() |
Citation:
Ou alors avec une astuce que je n'ai pas trouvée !
__________________
Email : http://scr.im/waldar |
|
|
00
|
|
|
#10 | |
|
Membre Expert
![]() ![]() Franck PachotDBA Oracle Inscription : novembre 2007 Messages : 706 ![]() |
Bonjour,
Citation:
L'exemple 'Foreign Key Trigger for Child Table' empêche de faire 2 inserts en même temps lorsqu'ils ont le même parent. Les inserts seront sérialisés. En fait, coder de l'intégrité qui fait référence à autre chose que l'enregistrement en cours obligera la plupart du temps à vérouiller très large. Cordialement, Franck.
__________________
A lire sur mon blog Oracle - Articles d'Experts des articles traduits en français de Jonathan Lewis, Tom Kyte, Doug Burns, Cary Millsap, Greg Rahn ...
|
|
|
00
|
|
|
#11 | |||
|
Membre Expert
![]() ![]() Franck PachotDBA Oracle Inscription : novembre 2007 Messages : 706 ![]() |
Bonjour,
Citation:
Code :
Cordialement, Franck.
__________________
A lire sur mon blog Oracle - Articles d'Experts des articles traduits en français de Jonathan Lewis, Tom Kyte, Doug Burns, Cary Millsap, Greg Rahn ...
|
|||
|
20
|
|
|
#12 | ||
![]() ![]() |
Merci pachot pour cette démonstration, j'avais en tête ce genre de contrainte CHECK :
Code :
__________________
Email : http://scr.im/waldar |
||
|
00
|
|
|
#13 | |||
|
Membre expérimenté
![]() Mohamed HouriInscription : mars 2010 Messages : 286 ![]() |
Citation:
Non il ne va pas lire du tout la table. Code :
|
|||
|
|
20
|
|
|
#14 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
|
|
|
00
|
|
|
#15 | |
![]() ![]() |
Citation:
, je ne savais pas utiliser cette information.
__________________
Email : http://scr.im/waldar |
|
|
00
|
|
|
#16 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
|
|
|
01
|
|
|
#17 | |||
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
Je me dis parfois qu’il ne sera pas mal si Oracle revisitera ses documentations pour les mettre à jour
Citation:
Code :
|
|||
|
|
00
|
|
|
#18 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2006 Messages : 110 ![]() |
Bonsoir , désolé de m' incruster dans la discussion ,
je voudrais savoir si les tables sont distantes ou sur un autre user !! et si c'est le cas comment le trigger procède-t-il pour effectuer la contrainte d'intégrité ? |
|
|
00
|
|
|
#19 |
![]() ![]() Alain Ingénieur d'études décisionnel Inscription : mai 2002 Messages : 4 446 ![]() |
Qu'entends-tu par effectuer la contrainte d'intégrité ?
__________________
Modérateur Langage SQL N'oubliez pas le bouton et pensez aux balises [code]Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur ![]() |
|
|
00
|
|
|
#20 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2006 Messages : 110 ![]() |
merci pour les corrections ,
d'après ce lien http://download-uk.oracle.com/docs/c...05itg.htm#1628 le trigger résout le problème de la clé étrangère d'une table dans un autre compte ou base de donnée distante . j'ai pas trop compris comment résoudre le problème avec le trigger!! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com