|
|
|
|
||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
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. " |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
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/s...ransactsql/#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 *********************** |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
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/s...ransactsql/#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. " |
|
![]() |
| Outils de la discussion | |
|
|