|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Inscription : avril 2009 Messages : 13 ![]() |
Bonjour à tous,
J'ai un premier trigger qui se déclenche pour faire des inserts dans une deuxème table, dans le trigger en question l'insert se fait de la manière suivante: Code :
Le deuxème trigger est censé controler les lignes insérés (validation), sauf qu'ici il ne traite que la première ligne, donc pas tous les inserts initialement insérsés par le premier trigger. Code :
Merci. |
||||
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() |
tu mets le premier en BEFORE et le deuxieme en AFTER.
|
|
|
00
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
Nous n’avons pas vos tables ni vos triggers ! Mettez donc un petit jeu d’essai qui permet de reproduire votre problème.
|
|
|
00
|
|
|
#4 | ||||||
|
Inscription : avril 2009 Messages : 13 ![]() |
Salut à tous,
Ma description était assez standard, peut importe les tables ou les triggers utilisés. Comment faire en sorte que le trigger se déclenche pour les insertion en masse du forme "insert into db_table select * from", le trigger doit traiter chaque ligne insérée. Voici un ex: on a les deux tables suivantes Code :
Code :
Code :
Code :
INSERT INTO test_bulk SELECT * FROM COMPANY_CLASS -------------------------------- 1 j'ai eu une seule ligne inséré alors que je veux avoir autant de ligne insérée dans test_bulk_ref que les lignes qui ont été insérées dans TEST_BULK, donc le trigger s'est lancé une seule fois aprés TOUT l'insert, je veux qu'il traite les lignes insérés en masse une par une. Merci |
||||||
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Il manque le FOR EACH ROW, un trigger statement ne s'execute qu'une fois par requête.
|
|
|
00
|
|
|
#6 |
|
Inscription : avril 2009 Messages : 13 ![]() |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com