Problème trigger et insertionm multiple

Le
Pierre BOUSQUET
Bonjour,

J'ai un trigger sur une table (TABLE1) qui met à jour certains champs
(de cette même table) lors d'une insertion.
Lorsque j'exécute un seul INSERT dans cette table aucun problème tout
fonctionne, par contre lorsque je fais une insertion multiple du type
INSERT INTO table1 FROM table2, seul le trigger sur le dernier
enregistrement est exécuté.

Y-a-t-il un moyen d'obliger MSSQL à exécuter le trigger pour chaque
enregistrement inséré ?


Merci d'avance

--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fred BROUARD
Le #11853281
Pierre BOUSQUET a écrit :
Bonjour,

J'ai un trigger sur une table (TABLE1) qui met à jour certains champs
(de cette même table) lors d'une insertion.
Lorsque j'exécute un seul INSERT dans cette table aucun problème tout
fonctionne, par contre lorsque je fais une insertion multiple du type
INSERT INTO table1 FROM table2, seul le trigger sur le dernier
enregistrement est exécuté.

Y-a-t-il un moyen d'obliger MSSQL à exécuter le trigger pour chaque
enregistrement inséré ?




NON !

Les triggers fonctionne de manière ensembliste... A vous d'écrire le
code SQL qui va bien en utilisant par exemple exclusibvement des
requêtes SQL.

Pour quelques exemples, suivez l'article que j'ai écrit à ce sujet :
http://sqlpro.developpez.com/cours/sqlserver/transactsql/#L5

A +


Merci d'avance





--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Pierre BOUSQUET
Le #11853271
ok merci


Le 2007/08/06, Fred BROUARD a supposé :
Pierre BOUSQUET a écrit :
Bonjour,

J'ai un trigger sur une table (TABLE1) qui met à jour certains champs (de
cette même table) lors d'une insertion.
Lorsque j'exécute un seul INSERT dans cette table aucun problème tout
fonctionne, par contre lorsque je fais une insertion multiple du type
INSERT INTO table1 FROM table2, seul le trigger sur le dernier
enregistrement est exécuté.

Y-a-t-il un moyen d'obliger MSSQL à exécuter le trigger pour chaque
enregistrement inséré ?




NON !

Les triggers fonctionne de manière ensembliste... A vous d'écrire le code SQL
qui va bien en utilisant par exemple exclusibvement des requêtes SQL.

Pour quelques exemples, suivez l'article que j'ai écrit à ce sujet :
http://sqlpro.developpez.com/cours/sqlserver/transactsql/#L5

A +


Merci d'avance






--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
Publicité
Poster une réponse
Anonyme