Trigger d'insertion

Le
Davelop
Bonjour,

Je suis plutot débutant et je cherche le moyen de faire un trigger
permettant à chaque nouvel INSERT dans une table d'aller faire un autre
INSERT dans une autre table en récupérant la clé primaire de la 1ère table
dans un champ de la 2ème table. mais je n'y arrive pas. syntaxe ?

Exemple :
CREATE TRIGGER newtrig1 ON table1
FOR INSERT
AS
Begin
INSERT INTO table2 ( NumCli)
SELECT [Numcli]
FROM table1;
End

[Numcli] de table1 est celui venant juste d'être créé qui doit doit etre
inséré dans table2

Merci beaucoup d'avance de votre réponse
David
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
TopBidouille
Le #11868491
Bonjour,
vous y etes presque...
en fait lorsque on fait une opération de DELETE INSERT ou UPDATE sur une
table, SQLServeur crée des pseudos tables qui ont la meme structure que la
table sur laquelle on fait l'opération.
ces tables s'appellent deleted et inserted.

la syntaxe de votre trigger devrait donc etre plutôt du style (non testé)
CREATE TRIGGER newTrig1 on table1
FOR INSERT
AS
INSERT INTO table2(Numcli, <mesautresvaleurs>)
SELECT NumCli,<mesautresvaleurs>
FROM inserted

Cordialement,
Christophe




"Davelop" news:
Bonjour,

Je suis plutot débutant et je cherche le moyen de faire un trigger
permettant à chaque nouvel INSERT dans une table d'aller faire un autre
INSERT dans une autre table en récupérant la clé primaire de la 1ère table
dans un champ de la 2ème table. mais je n'y arrive pas. syntaxe ?

Exemple :
CREATE TRIGGER newtrig1 ON table1
FOR INSERT
AS
Begin
INSERT INTO table2 ( NumCli)
SELECT [Numcli]
FROM table1;
End

[Numcli] de table1 est celui venant juste d'être créé qui doit doit etre
inséré dans table2

Merci beaucoup d'avance de votre réponse
David



Davelop
Le #11868481
Youhouuu merci beaucoup !

ça marche ! :)



"TopBidouille" wrote:

Bonjour,
vous y etes presque...
en fait lorsque on fait une opération de DELETE INSERT ou UPDATE sur une
table, SQLServeur crée des pseudos tables qui ont la meme structure que la
table sur laquelle on fait l'opération.
ces tables s'appellent deleted et inserted.

la syntaxe de votre trigger devrait donc etre plutôt du style (non testé)
CREATE TRIGGER newTrig1 on table1
FOR INSERT
AS
INSERT INTO table2(Numcli, <mesautresvaleurs>)
SELECT NumCli,<mesautresvaleurs>
FROM inserted

Cordialement,
Christophe




"Davelop" news:
> Bonjour,
>
> Je suis plutot débutant et je cherche le moyen de faire un trigger
> permettant à chaque nouvel INSERT dans une table d'aller faire un autre
> INSERT dans une autre table en récupérant la clé primaire de la 1ère table
> dans un champ de la 2ème table. mais je n'y arrive pas. syntaxe ?
>
> Exemple :
> CREATE TRIGGER newtrig1 ON table1
> FOR INSERT
> AS
> Begin
> INSERT INTO table2 ( NumCli)
> SELECT [Numcli]
> FROM table1;
> End
>
> [Numcli] de table1 est celui venant juste d'être créé qui doit doit etre
> inséré dans table2
>
> Merci beaucoup d'avance de votre réponse
> David
>






Publicité
Poster une réponse
Anonyme