OVH Cloud OVH Cloud

relation table.champ et script

1 réponse
Avatar
chalagif
Bonjour,

J'ai une table qui est mise à jour par une application. A chaque nouvelle
ligne de cette table, j'ai besoin de lancer une commande qui prend comme
paramètre un champ des champs de cette table.

Comment puis je écrire mon code pour faire référence à ces champs ?

Devrais je plutôt écrire un trigger Update sur ma table ? Dans ce cas, puis
je lancer une appli .exe depuis le code du trigger ?

Merci

1 réponse

Avatar
chalagif
Bon voila, j 'ai trouvé :

Le plus simple est en effet la création d'un trigger avec l'utilisation de
xp_shell
Voici le code de mon trigger :


CREATE TRIGGER [TR-UpdateNomDuTrigger]
ON NomTable
FOR INSERT, UPDATE
AS

If UPDATE(ChampTable) --si le champ ChampTable de la table NomTable est mis
a jour

BEGIN
declare @name varchar(25)
declare @commande varchar(300)
declare @gencr varchar(300)
set @name = (select customer from inserted) --on recupere le champ customer
de la table pour l injecter dans la commande qui va être lancée apres
set @gencr = 'parametres'
est crée pour contenir de nombreux paramètres avec de ' et " qui
posent problème si on les passe directement avec exec master..xp_cmdshell

set @commande = 'D:VotreExe.exe -f parametres ' +@gencr

--print @commande
exec master..xp_cmdshell @commande

END
GO
-----------------------------------------------
En éspérant être clair.

"chalagif" a écrit :

Bonjour,

J'ai une table qui est mise à jour par une application. A chaque nouvelle
ligne de cette table, j'ai besoin de lancer une commande qui prend comme
paramètre un champ des champs de cette table.

Comment puis je écrire mon code pour faire référence à ces champs ?

Devrais je plutôt écrire un trigger Update sur ma table ? Dans ce cas, puis
je lancer une appli .exe depuis le code du trigger ?

Merci