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
bruno reiter [MVP]
C'est le fonctionnement normal de SQLServer un trigger se déclanche une seule fois par commande, il faut traiter ça dans le trigger en vérifiant @@rowcount et éventuellement en utilisant un curseur (rarement nécessaire)
br
"BruBru" wrote in message news:
Bonjour a tous
Je rencontre un petit problème sur un trigger avec MS SQL 2000
Je fais des enregistrements dans une table en utilisant une requete du
type
:
insert into TABLE select * from AUTRE_TABLE
4 enregistrements sont créés dans TABLE mais le trigger INSERT sur TABLE n'est appelé qu'UNE SEULE FOIS !!
qqn aurait-il déjà rencontré ce problème ?
Merci
C'est le fonctionnement normal de SQLServer
un trigger se déclanche une seule fois par commande, il faut traiter ça dans
le trigger en vérifiant @@rowcount et éventuellement en utilisant un curseur
(rarement nécessaire)
br
"BruBru" <bruno.duchaffaut@ifrance.com> wrote in message
news:eIuMpgrLEHA.1272@tk2msftngp13.phx.gbl...
Bonjour a tous
Je rencontre un petit problème sur un trigger avec MS SQL 2000
Je fais des enregistrements dans une table en utilisant une requete du
type
:
insert into TABLE select * from AUTRE_TABLE
4 enregistrements sont créés dans TABLE mais le trigger INSERT sur TABLE
n'est appelé qu'UNE SEULE FOIS !!
C'est le fonctionnement normal de SQLServer un trigger se déclanche une seule fois par commande, il faut traiter ça dans le trigger en vérifiant @@rowcount et éventuellement en utilisant un curseur (rarement nécessaire)
br
"BruBru" wrote in message news:
Bonjour a tous
Je rencontre un petit problème sur un trigger avec MS SQL 2000
Je fais des enregistrements dans une table en utilisant une requete du
type
:
insert into TABLE select * from AUTRE_TABLE
4 enregistrements sont créés dans TABLE mais le trigger INSERT sur TABLE n'est appelé qu'UNE SEULE FOIS !!
qqn aurait-il déjà rencontré ce problème ?
Merci
Patrice
C'est normal. Dans le trigger les pseudo tables "deleted" et "updated" te donnent l'intégralité des enregistrements en cours de modification (au lieu d'être appelé 4 fois avec un enregistrement unique à la fois).
Patrice
"BruBru" a écrit dans le message de news:
Bonjour a tous
Je rencontre un petit problème sur un trigger avec MS SQL 2000
Je fais des enregistrements dans une table en utilisant une requete du
type
:
insert into TABLE select * from AUTRE_TABLE
4 enregistrements sont créés dans TABLE mais le trigger INSERT sur TABLE n'est appelé qu'UNE SEULE FOIS !!
qqn aurait-il déjà rencontré ce problème ?
Merci
C'est normal. Dans le trigger les pseudo tables "deleted" et "updated" te
donnent l'intégralité des enregistrements en cours de modification (au lieu
d'être appelé 4 fois avec un enregistrement unique à la fois).
Patrice
"BruBru" <bruno.duchaffaut@ifrance.com> a écrit dans le message de
news:eIuMpgrLEHA.1272@tk2msftngp13.phx.gbl...
Bonjour a tous
Je rencontre un petit problème sur un trigger avec MS SQL 2000
Je fais des enregistrements dans une table en utilisant une requete du
type
:
insert into TABLE select * from AUTRE_TABLE
4 enregistrements sont créés dans TABLE mais le trigger INSERT sur TABLE
n'est appelé qu'UNE SEULE FOIS !!
C'est normal. Dans le trigger les pseudo tables "deleted" et "updated" te donnent l'intégralité des enregistrements en cours de modification (au lieu d'être appelé 4 fois avec un enregistrement unique à la fois).
Patrice
"BruBru" a écrit dans le message de news:
Bonjour a tous
Je rencontre un petit problème sur un trigger avec MS SQL 2000
Je fais des enregistrements dans une table en utilisant une requete du
type
:
insert into TABLE select * from AUTRE_TABLE
4 enregistrements sont créés dans TABLE mais le trigger INSERT sur TABLE n'est appelé qu'UNE SEULE FOIS !!
qqn aurait-il déjà rencontré ce problème ?
Merci
Fred BROUARD
le principe du trigger est un déclenchement UNIQUE pour chaque ordre SQL passé.
Que l'ordre SQL passé porte sur une ligne ou un million, il n'y a qu'un seul déclenchement et heureusement ! Sinon, bobjours les performances... Cela est bien entendu tout à fait normatif (SQL:1999)
Pour travailler sur les données passées dans un trigger, il convient de scruter les pseudo tables INSERTED et DELETED suivant la nature du trigger, qui contiennent les données en cours de manipulation. Ces pseudo tables emprunte la structure de la table visée par le trigger.
Plus d'explication et de nombreux exemples : http://sqlpro.developpez.com/TransactSQL/SQL_MSTransactSQL.html#5
A +
BruBru a écrit:
Bonjour a tous
Je rencontre un petit problème sur un trigger avec MS SQL 2000
Je fais des enregistrements dans une table en utilisant une requete du type :
insert into TABLE select * from AUTRE_TABLE
4 enregistrements sont créés dans TABLE mais le trigger INSERT sur TABLE n'est appelé qu'UNE SEULE FOIS !!
qqn aurait-il déjà rencontré ce problème ?
Merci
-- Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ****************** mailto: ******************
le principe du trigger est un déclenchement UNIQUE pour chaque ordre SQL passé.
Que l'ordre SQL passé porte sur une ligne ou un million, il n'y a qu'un seul déclenchement et heureusement ! Sinon,
bobjours les performances... Cela est bien entendu tout à fait normatif (SQL:1999)
Pour travailler sur les données passées dans un trigger, il convient de scruter les pseudo tables INSERTED et DELETED
suivant la nature du trigger, qui contiennent les données en cours de manipulation. Ces pseudo tables emprunte la
structure de la table visée par le trigger.
Plus d'explication et de nombreux exemples :
http://sqlpro.developpez.com/TransactSQL/SQL_MSTransactSQL.html#5
A +
BruBru a écrit:
Bonjour a tous
Je rencontre un petit problème sur un trigger avec MS SQL 2000
Je fais des enregistrements dans une table en utilisant une requete du type
:
insert into TABLE select * from AUTRE_TABLE
4 enregistrements sont créés dans TABLE mais le trigger INSERT sur TABLE
n'est appelé qu'UNE SEULE FOIS !!
qqn aurait-il déjà rencontré ce problème ?
Merci
--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto:brouardf@club-internet.fr ******************
le principe du trigger est un déclenchement UNIQUE pour chaque ordre SQL passé.
Que l'ordre SQL passé porte sur une ligne ou un million, il n'y a qu'un seul déclenchement et heureusement ! Sinon, bobjours les performances... Cela est bien entendu tout à fait normatif (SQL:1999)
Pour travailler sur les données passées dans un trigger, il convient de scruter les pseudo tables INSERTED et DELETED suivant la nature du trigger, qui contiennent les données en cours de manipulation. Ces pseudo tables emprunte la structure de la table visée par le trigger.
Plus d'explication et de nombreux exemples : http://sqlpro.developpez.com/TransactSQL/SQL_MSTransactSQL.html#5
A +
BruBru a écrit:
Bonjour a tous
Je rencontre un petit problème sur un trigger avec MS SQL 2000
Je fais des enregistrements dans une table en utilisant une requete du type :
insert into TABLE select * from AUTRE_TABLE
4 enregistrements sont créés dans TABLE mais le trigger INSERT sur TABLE n'est appelé qu'UNE SEULE FOIS !!
qqn aurait-il déjà rencontré ce problème ?
Merci
-- Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ****************** mailto: ******************
jeorme
Bonjour Question par rapport à ces explications , c'est le même prinicpe pour SQL 7 ?
"BruBru" a écrit dans le message de news:
Bonjour a tous
Je rencontre un petit problème sur un trigger avec MS SQL 2000
Je fais des enregistrements dans une table en utilisant une requete du
type
:
insert into TABLE select * from AUTRE_TABLE
4 enregistrements sont créés dans TABLE mais le trigger INSERT sur TABLE n'est appelé qu'UNE SEULE FOIS !!
qqn aurait-il déjà rencontré ce problème ?
Merci
Bonjour
Question par rapport à ces explications , c'est le même prinicpe pour SQL 7
?
"BruBru" <bruno.duchaffaut@ifrance.com> a écrit dans le message de news:
eIuMpgrLEHA.1272@tk2msftngp13.phx.gbl...
Bonjour a tous
Je rencontre un petit problème sur un trigger avec MS SQL 2000
Je fais des enregistrements dans une table en utilisant une requete du
type
:
insert into TABLE select * from AUTRE_TABLE
4 enregistrements sont créés dans TABLE mais le trigger INSERT sur TABLE
n'est appelé qu'UNE SEULE FOIS !!
Bonjour Question par rapport à ces explications , c'est le même prinicpe pour SQL 7 ?
"BruBru" a écrit dans le message de news:
Bonjour a tous
Je rencontre un petit problème sur un trigger avec MS SQL 2000
Je fais des enregistrements dans une table en utilisant une requete du
type
:
insert into TABLE select * from AUTRE_TABLE
4 enregistrements sont créés dans TABLE mais le trigger INSERT sur TABLE n'est appelé qu'UNE SEULE FOIS !!
qqn aurait-il déjà rencontré ce problème ?
Merci
Fred BROUARD
oui, sauf que 7 ne gère pas les trigers INSTEAD.
A +
jeorme a écrit:
Bonjour Question par rapport à ces explications , c'est le même prinicpe pour SQL 7 ?
"BruBru" a écrit dans le message de news:
Bonjour a tous
Je rencontre un petit problème sur un trigger avec MS SQL 2000
Je fais des enregistrements dans une table en utilisant une requete du
type
:
insert into TABLE select * from AUTRE_TABLE
4 enregistrements sont créés dans TABLE mais le trigger INSERT sur TABLE n'est appelé qu'UNE SEULE FOIS !!
qqn aurait-il déjà rencontré ce problème ?
Merci
-- Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ****************** mailto: ******************
oui, sauf que 7 ne gère pas les trigers INSTEAD.
A +
jeorme a écrit:
Bonjour
Question par rapport à ces explications , c'est le même prinicpe pour SQL 7
?
"BruBru" <bruno.duchaffaut@ifrance.com> a écrit dans le message de news:
eIuMpgrLEHA.1272@tk2msftngp13.phx.gbl...
Bonjour a tous
Je rencontre un petit problème sur un trigger avec MS SQL 2000
Je fais des enregistrements dans une table en utilisant une requete du
type
:
insert into TABLE select * from AUTRE_TABLE
4 enregistrements sont créés dans TABLE mais le trigger INSERT sur TABLE
n'est appelé qu'UNE SEULE FOIS !!
qqn aurait-il déjà rencontré ce problème ?
Merci
--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto:brouardf@club-internet.fr ******************
Bonjour Question par rapport à ces explications , c'est le même prinicpe pour SQL 7 ?
"BruBru" a écrit dans le message de news:
Bonjour a tous
Je rencontre un petit problème sur un trigger avec MS SQL 2000
Je fais des enregistrements dans une table en utilisant une requete du
type
:
insert into TABLE select * from AUTRE_TABLE
4 enregistrements sont créés dans TABLE mais le trigger INSERT sur TABLE n'est appelé qu'UNE SEULE FOIS !!
qqn aurait-il déjà rencontré ce problème ?
Merci
-- Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ****************** mailto: ******************