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. "
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred BROUARD
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 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 ***********************
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
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. "
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. "
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. "