Je suis partie vers execute sans succès je coince un peu dans la syntaxe Je n'ai pas trouvé non plus le moyen de tracer !!
Merci pour vos réponse Gilles quand même un bon débutant en transact
Laurent MOREAU
Il manque une simple cote apres le = (il faut 3 ici)
Laurent.
"Gilles" wrote in message news:
Merci laurent
je planche sur tes remarques
Gilles
"Laurent MOREAU" <l.moreau(enleverceci)@systonic.fr> a écrit dans le
message
de news: cuq8qg$pt0$ > > SELECT @Req= 'SELECT ' + @ChampsSELECT + ' FROM ' + @LaTable + ' WHERE '
+
> @ChampWhere + '='' + REPLACE(@ValeurWHERE,'''','''''') + '''' > > PRINT @Req > EXEC (@Req) > > > Pour la valeur du champ du where on double les simple cotes par REPLACE > Print permet de tracer > EXEC () permet d'exécuter. > > Laurent. > > > > "Gilles" wrote in message > news:# >> Bonjour à tous, >> >> Quesques soucis en Procédure stocké >> >> en entré de celle-ci, je donne le nom d'une table et des champs de type >> varchar >> >> Comment bien ecrire ceci >> @Var1 et var2 sont des variables de la procédure stocké >> >> >> SELECT @Variable = ' + @Champ1+ ', @Var2 = ' + @Champ_Pere + ' FROM > @latable >> WHERE ' + @Champ3 + ' = @idChamp4 >> >> Je suis partie vers execute sans succès >> je coince un peu dans la syntaxe >> Je n'ai pas trouvé non plus le moyen de tracer !! >> >> Merci pour vos réponse >> Gilles quand même un bon débutant en transact >> >> > >
Il manque une simple cote apres le = (il faut 3 ici)
Laurent.
"Gilles" <glebarbier@supprimerceci_segilog.com> wrote in message
news:Oa1TlopEFHA.2572@tk2msftngp13.phx.gbl...
Merci laurent
je planche sur tes remarques
Gilles
"Laurent MOREAU" <l.moreau(enleverceci)@systonic.fr> a écrit dans le
message
de news: cuq8qg$pt0$1@s1.news.oleane.net...
>
> SELECT @Req= 'SELECT ' + @ChampsSELECT + ' FROM ' + @LaTable + ' WHERE '
+
> @ChampWhere + '='' + REPLACE(@ValeurWHERE,'''','''''') + ''''
>
> PRINT @Req
> EXEC (@Req)
>
>
> Pour la valeur du champ du where on double les simple cotes par REPLACE
> Print permet de tracer
> EXEC () permet d'exécuter.
>
> Laurent.
>
>
>
> "Gilles" <glebarbier@supprimerceci_segilog.com> wrote in message
> news:#m2AMQpEFHA.1296@TK2MSFTNGP10.phx.gbl...
>> Bonjour à tous,
>>
>> Quesques soucis en Procédure stocké
>>
>> en entré de celle-ci, je donne le nom d'une table et des champs de type
>> varchar
>>
>> Comment bien ecrire ceci
>> @Var1 et var2 sont des variables de la procédure stocké
>>
>>
>> SELECT @Variable = ' + @Champ1+ ', @Var2 = ' + @Champ_Pere + ' FROM
> @latable
>> WHERE ' + @Champ3 + ' = @idChamp4
>>
>> Je suis partie vers execute sans succès
>> je coince un peu dans la syntaxe
>> Je n'ai pas trouvé non plus le moyen de tracer !!
>>
>> Merci pour vos réponse
>> Gilles quand même un bon débutant en transact
>>
>>
>
>
Il manque une simple cote apres le = (il faut 3 ici)
Laurent.
"Gilles" wrote in message news:
Merci laurent
je planche sur tes remarques
Gilles
"Laurent MOREAU" <l.moreau(enleverceci)@systonic.fr> a écrit dans le
message
de news: cuq8qg$pt0$ > > SELECT @Req= 'SELECT ' + @ChampsSELECT + ' FROM ' + @LaTable + ' WHERE '
+
> @ChampWhere + '='' + REPLACE(@ValeurWHERE,'''','''''') + '''' > > PRINT @Req > EXEC (@Req) > > > Pour la valeur du champ du where on double les simple cotes par REPLACE > Print permet de tracer > EXEC () permet d'exécuter. > > Laurent. > > > > "Gilles" wrote in message > news:# >> Bonjour à tous, >> >> Quesques soucis en Procédure stocké >> >> en entré de celle-ci, je donne le nom d'une table et des champs de type >> varchar >> >> Comment bien ecrire ceci >> @Var1 et var2 sont des variables de la procédure stocké >> >> >> SELECT @Variable = ' + @Champ1+ ', @Var2 = ' + @Champ_Pere + ' FROM > @latable >> WHERE ' + @Champ3 + ' = @idChamp4 >> >> Je suis partie vers execute sans succès >> je coince un peu dans la syntaxe >> Je n'ai pas trouvé non plus le moyen de tracer !! >> >> Merci pour vos réponse >> Gilles quand même un bon débutant en transact >> >> > >
Gilles
Je reprend donc
A partir d'un trigger je veux appeler une procédure stockée générique
Mon trigger de test ---------- IF EXISTS ( SELECT name FROM SysObjects WHERE NAME = 'Test_trig' and type = 'TR') DROP TRIGGER Test_trig GO CREATE TRIGGER Test_trig ON COMPTE AFTER INSERT AS EXECUTE SegP_INS_Arbo 'compte','IdCompte', 'IdPere' , 'Compte' GO
Je n'arrive pas me positionner sur l'enregistrement créé (j'ai aussi essayé "inserted" dans trigger car il n'est pas possible de l'utiliser dans la procédure
Comment me positionner sur l'enregistrement inséré
Gilles
Je reprend donc
A partir d'un trigger je veux appeler une procédure stockée générique
Mon trigger de test ----------
IF EXISTS ( SELECT name FROM SysObjects
WHERE NAME = 'Test_trig' and type = 'TR')
DROP TRIGGER Test_trig
GO
CREATE TRIGGER Test_trig
ON COMPTE
AFTER INSERT
AS
EXECUTE SegP_INS_Arbo 'compte','IdCompte', 'IdPere' , 'Compte'
GO
Je n'arrive pas me positionner sur l'enregistrement créé (j'ai aussi essayé
"inserted" dans trigger car il n'est pas possible de l'utiliser dans la
procédure
Comment me positionner sur l'enregistrement inséré
Mon trigger de test ---------- IF EXISTS ( SELECT name FROM SysObjects WHERE NAME = 'Test_trig' and type = 'TR') DROP TRIGGER Test_trig GO CREATE TRIGGER Test_trig ON COMPTE AFTER INSERT AS EXECUTE SegP_INS_Arbo 'compte','IdCompte', 'IdPere' , 'Compte' GO
Je n'arrive pas me positionner sur l'enregistrement créé (j'ai aussi essayé "inserted" dans trigger car il n'est pas possible de l'utiliser dans la procédure
Comment me positionner sur l'enregistrement inséré
Gilles
Laurent MOREAU
Dans une requete dynamique on ne peut pas valoriser une variable (a moins de la déclarer dans la requete dynamique, pas interessant ici puisqu'on la perdrait a la fin de l'EXEC)
EXEC (@Req) SELECT @val_champ_tri = val_champ_tri FROM #Tmp
Ceci dit, je n'ai pas essayé de compdre ce que tu voulais faire. Et quand je lis: "Comment me positionner sur l'enregistrement inséré" Je te rappel que @@Identity peut etre tres utile... (si tu ne connais pas , voir aide en ligne)
Laurent.
"Gilles" wrote in message news:##KpD$
Je reprend donc
A partir d'un trigger je veux appeler une procédure stockée générique
Mon trigger de test ---------- IF EXISTS ( SELECT name FROM SysObjects WHERE NAME = 'Test_trig' and type = 'TR') DROP TRIGGER Test_trig GO CREATE TRIGGER Test_trig ON COMPTE AFTER INSERT AS EXECUTE SegP_INS_Arbo 'compte','IdCompte', 'IdPere' , 'Compte' GO
Je n'arrive pas me positionner sur l'enregistrement créé (j'ai aussi
essayé
"inserted" dans trigger car il n'est pas possible de l'utiliser dans la procédure
Comment me positionner sur l'enregistrement inséré
Gilles
Dans une requete dynamique on ne peut pas valoriser une variable (a moins de
la déclarer dans la requete dynamique, pas interessant ici puisqu'on la
perdrait a la fin de l'EXEC)
EXEC (@Req)
SELECT @val_champ_tri = val_champ_tri FROM #Tmp
Ceci dit, je n'ai pas essayé de compdre ce que tu voulais faire.
Et quand je lis: "Comment me positionner sur l'enregistrement inséré"
Je te rappel que @@Identity peut etre tres utile... (si tu ne connais pas ,
voir aide en ligne)
Laurent.
"Gilles" <glebarbier@supprimerceci_segilog.com> wrote in message
news:##KpD$pEFHA.2600@TK2MSFTNGP09.phx.gbl...
Je reprend donc
A partir d'un trigger je veux appeler une procédure stockée générique
Mon trigger de test ----------
IF EXISTS ( SELECT name FROM SysObjects
WHERE NAME = 'Test_trig' and type = 'TR')
DROP TRIGGER Test_trig
GO
CREATE TRIGGER Test_trig
ON COMPTE
AFTER INSERT
AS
EXECUTE SegP_INS_Arbo 'compte','IdCompte', 'IdPere' , 'Compte'
GO
Je n'arrive pas me positionner sur l'enregistrement créé (j'ai aussi
essayé
"inserted" dans trigger car il n'est pas possible de l'utiliser dans la
procédure
Comment me positionner sur l'enregistrement inséré
Dans une requete dynamique on ne peut pas valoriser une variable (a moins de la déclarer dans la requete dynamique, pas interessant ici puisqu'on la perdrait a la fin de l'EXEC)
EXEC (@Req) SELECT @val_champ_tri = val_champ_tri FROM #Tmp
Ceci dit, je n'ai pas essayé de compdre ce que tu voulais faire. Et quand je lis: "Comment me positionner sur l'enregistrement inséré" Je te rappel que @@Identity peut etre tres utile... (si tu ne connais pas , voir aide en ligne)
Laurent.
"Gilles" wrote in message news:##KpD$
Je reprend donc
A partir d'un trigger je veux appeler une procédure stockée générique
Mon trigger de test ---------- IF EXISTS ( SELECT name FROM SysObjects WHERE NAME = 'Test_trig' and type = 'TR') DROP TRIGGER Test_trig GO CREATE TRIGGER Test_trig ON COMPTE AFTER INSERT AS EXECUTE SegP_INS_Arbo 'compte','IdCompte', 'IdPere' , 'Compte' GO
Je n'arrive pas me positionner sur l'enregistrement créé (j'ai aussi
essayé
"inserted" dans trigger car il n'est pas possible de l'utiliser dans la procédure
Comment me positionner sur l'enregistrement inséré
Gilles
Laurent MOREAU
J'oubliais, avec sp_execute, tu peux déclarer des params en OUPUT.
Laurent.
"Gilles" wrote in message news:##KpD$
Je reprend donc
A partir d'un trigger je veux appeler une procédure stockée générique
Mon trigger de test ---------- IF EXISTS ( SELECT name FROM SysObjects WHERE NAME = 'Test_trig' and type = 'TR') DROP TRIGGER Test_trig GO CREATE TRIGGER Test_trig ON COMPTE AFTER INSERT AS EXECUTE SegP_INS_Arbo 'compte','IdCompte', 'IdPere' , 'Compte' GO
Je n'arrive pas me positionner sur l'enregistrement créé (j'ai aussi
essayé
"inserted" dans trigger car il n'est pas possible de l'utiliser dans la procédure
Comment me positionner sur l'enregistrement inséré
Gilles
J'oubliais, avec sp_execute, tu peux déclarer des params en OUPUT.
Laurent.
"Gilles" <glebarbier@supprimerceci_segilog.com> wrote in message
news:##KpD$pEFHA.2600@TK2MSFTNGP09.phx.gbl...
Je reprend donc
A partir d'un trigger je veux appeler une procédure stockée générique
Mon trigger de test ----------
IF EXISTS ( SELECT name FROM SysObjects
WHERE NAME = 'Test_trig' and type = 'TR')
DROP TRIGGER Test_trig
GO
CREATE TRIGGER Test_trig
ON COMPTE
AFTER INSERT
AS
EXECUTE SegP_INS_Arbo 'compte','IdCompte', 'IdPere' , 'Compte'
GO
Je n'arrive pas me positionner sur l'enregistrement créé (j'ai aussi
essayé
"inserted" dans trigger car il n'est pas possible de l'utiliser dans la
procédure
Comment me positionner sur l'enregistrement inséré
Mon trigger de test ---------- IF EXISTS ( SELECT name FROM SysObjects WHERE NAME = 'Test_trig' and type = 'TR') DROP TRIGGER Test_trig GO CREATE TRIGGER Test_trig ON COMPTE AFTER INSERT AS EXECUTE SegP_INS_Arbo 'compte','IdCompte', 'IdPere' , 'Compte' GO
Je n'arrive pas me positionner sur l'enregistrement créé (j'ai aussi
essayé
"inserted" dans trigger car il n'est pas possible de l'utiliser dans la procédure
Comment me positionner sur l'enregistrement inséré
Gilles
Gilles
J'avoue je commence fort et à mon avis je n'ai pas en core tout le langage technique nécéssaire pour me faire comprendre :-)
Ce que je veux réaliser c'est une procédure stockée qui pourrait être appelée de trigger différent donc de table avec des champs différents !! Une procédure commune pour éviter de réécrire le source à chaque trigger
Pour chaque enregistrement il faudra mettre à jour des champs (qui eux ont été créé avec des labels identique d'une table à l'autre)
Bref la procédure stocké n'est pas lié à une table et doit être entièrement paramétrable pour cette mise à jour d'un trigger
Je vais pas t'ennuyer plus longtemp Je te remerci de ton aide et me plonger dans les aides et exemples que je trouverais :-)
Gilles
"Laurent MOREAU" <l.moreau(enleverceci)@systonic.fr> a écrit dans le message de news: cuqd4l$srv$
J'oubliais, avec sp_execute, tu peux déclarer des params en OUPUT.
Laurent.
"Gilles" wrote in message news:##KpD$
Je reprend donc
A partir d'un trigger je veux appeler une procédure stockée générique
Mon trigger de test ---------- IF EXISTS ( SELECT name FROM SysObjects WHERE NAME = 'Test_trig' and type = 'TR') DROP TRIGGER Test_trig GO CREATE TRIGGER Test_trig ON COMPTE AFTER INSERT AS EXECUTE SegP_INS_Arbo 'compte','IdCompte', 'IdPere' , 'Compte' GO
Je n'arrive pas me positionner sur l'enregistrement créé (j'ai aussi
essayé
"inserted" dans trigger car il n'est pas possible de l'utiliser dans la procédure
Comment me positionner sur l'enregistrement inséré
Gilles
J'avoue je commence fort et à mon avis je n'ai pas en core tout le langage
technique nécéssaire pour me faire comprendre :-)
Ce que je veux réaliser c'est une procédure stockée qui pourrait être
appelée de trigger différent donc de table avec des champs différents !!
Une procédure commune pour éviter de réécrire le source à chaque trigger
Pour chaque enregistrement il faudra mettre à jour des champs (qui eux ont
été créé avec des labels identique d'une table à l'autre)
Bref la procédure stocké n'est pas lié à une table et doit être entièrement
paramétrable pour cette mise à jour d'un trigger
Je vais pas t'ennuyer plus longtemp
Je te remerci de ton aide et me plonger dans les aides et exemples que je
trouverais :-)
Gilles
"Laurent MOREAU" <l.moreau(enleverceci)@systonic.fr> a écrit dans le message
de news: cuqd4l$srv$1@s1.news.oleane.net...
J'oubliais, avec sp_execute, tu peux déclarer des params en OUPUT.
Laurent.
"Gilles" <glebarbier@supprimerceci_segilog.com> wrote in message
news:##KpD$pEFHA.2600@TK2MSFTNGP09.phx.gbl...
Je reprend donc
A partir d'un trigger je veux appeler une procédure stockée générique
Mon trigger de test ----------
IF EXISTS ( SELECT name FROM SysObjects
WHERE NAME = 'Test_trig' and type = 'TR')
DROP TRIGGER Test_trig
GO
CREATE TRIGGER Test_trig
ON COMPTE
AFTER INSERT
AS
EXECUTE SegP_INS_Arbo 'compte','IdCompte', 'IdPere' , 'Compte'
GO
Je n'arrive pas me positionner sur l'enregistrement créé (j'ai aussi
essayé
"inserted" dans trigger car il n'est pas possible de l'utiliser dans la
procédure
Comment me positionner sur l'enregistrement inséré
J'avoue je commence fort et à mon avis je n'ai pas en core tout le langage technique nécéssaire pour me faire comprendre :-)
Ce que je veux réaliser c'est une procédure stockée qui pourrait être appelée de trigger différent donc de table avec des champs différents !! Une procédure commune pour éviter de réécrire le source à chaque trigger
Pour chaque enregistrement il faudra mettre à jour des champs (qui eux ont été créé avec des labels identique d'une table à l'autre)
Bref la procédure stocké n'est pas lié à une table et doit être entièrement paramétrable pour cette mise à jour d'un trigger
Je vais pas t'ennuyer plus longtemp Je te remerci de ton aide et me plonger dans les aides et exemples que je trouverais :-)
Gilles
"Laurent MOREAU" <l.moreau(enleverceci)@systonic.fr> a écrit dans le message de news: cuqd4l$srv$
J'oubliais, avec sp_execute, tu peux déclarer des params en OUPUT.
Laurent.
"Gilles" wrote in message news:##KpD$
Je reprend donc
A partir d'un trigger je veux appeler une procédure stockée générique
Mon trigger de test ---------- IF EXISTS ( SELECT name FROM SysObjects WHERE NAME = 'Test_trig' and type = 'TR') DROP TRIGGER Test_trig GO CREATE TRIGGER Test_trig ON COMPTE AFTER INSERT AS EXECUTE SegP_INS_Arbo 'compte','IdCompte', 'IdPere' , 'Compte' GO
Je n'arrive pas me positionner sur l'enregistrement créé (j'ai aussi
essayé
"inserted" dans trigger car il n'est pas possible de l'utiliser dans la procédure
Comment me positionner sur l'enregistrement inséré
Gilles
Gilles
Laurent,
Grace à tes indications, j'ai réussi à faire ma procédure stockée de rève :-) en utilisant une table tempo je règle tous mes problèmes !!!
Mille merci pour ton aide Si un jour je peux donner un coup de main ....
Gilles - Clarion 5 - SQL server SEGILOG Nord-59
Laurent,
Grace à tes indications, j'ai réussi à faire ma procédure stockée de rève
:-)
en utilisant une table tempo je règle tous mes problèmes !!!
Mille merci pour ton aide
Si un jour je peux donner un coup de main ....