Je dois faire un SELECT INTO qui depend de certains arguments.
Je voulais donc faire qq chose du genre :
IF test
BEGIN
SELECT ..
INTO #TMP
FROM ...
WHERE condition1
END
ElsE
BEGIN
SELECT ..
INTO #TMP
FROM ...
WHERE condition2
END
à la verif syntaxique, il me dit qu'un objet #TMP existe deja
je modifie un peu en gardant le premier select intact mais en placant le
second dans un EXEC
IF test
BEGIN
SELECT ..
INTO #TMP
FROM ...
WHERE condition1
END
ElsE
BEGIN
EXEC ('SELECT ..
INTO #TMP
FROM ...
WHERE condition2')
END
la verif syntaxique est ok mais le probleme est que maintenant lorsque la
condition 2 est reunie, il me dit à l'execution que #TMP n'existe pas ; il a
du faire son EXEC dans un environnement different .
J'ai egalement essayé de mettre les 2 select into dans un exec mais rien n'y
fait.
Ma question est donc :
comment definir un select into conditionnel dans une table temporaire et
pouvoir la reutiliser apres.
SELECT .. INTO #TMP FROM ... WHERE (test and condition1) or Condition2
"toto" a écrit dans le message de news:%
bonjour,
J'ai un petit probleme dans une SP.
Je dois faire un SELECT INTO qui depend de certains arguments.
Je voulais donc faire qq chose du genre :
IF test BEGIN SELECT .. INTO #TMP FROM ... WHERE condition1 END ElsE BEGIN SELECT .. INTO #TMP FROM ... WHERE condition2 END
à la verif syntaxique, il me dit qu'un objet #TMP existe deja
je modifie un peu en gardant le premier select intact mais en placant le second dans un EXEC
IF test BEGIN SELECT .. INTO #TMP FROM ... WHERE condition1 END ElsE BEGIN EXEC ('SELECT .. INTO #TMP FROM ... WHERE condition2') END
la verif syntaxique est ok mais le probleme est que maintenant lorsque la condition 2 est reunie, il me dit à l'execution que #TMP n'existe pas ; il
a
du faire son EXEC dans un environnement different . J'ai egalement essayé de mettre les 2 select into dans un exec mais rien
n'y
fait.
Ma question est donc : comment definir un select into conditionnel dans une table temporaire et pouvoir la reutiliser apres.
Merci pour votre aide pour un newbie en T-SQL
Cordialement
toto
merci pour vos réponses, qui permettent de contourner le probleme (en utilisant une requete unique). cependant, si ma requete n'avait pas pu etre "unifiée" (cad obligation de faire 2 requetes), comment auriez vous fait ?
Merci
"TedIF" a écrit dans le message de news:
SELECT .. INTO #TMP FROM ... WHERE (test and condition1) or Condition2
"toto" a écrit dans le message de news:% > bonjour, > > J'ai un petit probleme dans une SP. > > Je dois faire un SELECT INTO qui depend de certains arguments. > > Je voulais donc faire qq chose du genre : > > IF test > BEGIN > SELECT .. > INTO #TMP > FROM ... > WHERE condition1 > END > ElsE > BEGIN > SELECT .. > INTO #TMP > FROM ... > WHERE condition2 > END > > à la verif syntaxique, il me dit qu'un objet #TMP existe deja > > je modifie un peu en gardant le premier select intact mais en placant le > second dans un EXEC > > IF test > BEGIN > SELECT .. > INTO #TMP > FROM ... > WHERE condition1 > END > ElsE > BEGIN > EXEC ('SELECT .. > INTO #TMP > FROM ... > WHERE condition2') > END > > la verif syntaxique est ok mais le probleme est que maintenant lorsque
la
> condition 2 est reunie, il me dit à l'execution que #TMP n'existe pas ;
il
a > du faire son EXEC dans un environnement different . > J'ai egalement essayé de mettre les 2 select into dans un exec mais rien n'y > fait. > > Ma question est donc : > comment definir un select into conditionnel dans une table temporaire et > pouvoir la reutiliser apres. > > Merci pour votre aide pour un newbie en T-SQL > > Cordialement > > >
merci pour vos réponses, qui permettent de contourner le probleme (en
utilisant une requete unique).
cependant, si ma requete n'avait pas pu etre "unifiée" (cad obligation de
faire 2 requetes), comment auriez vous fait ?
Merci
"TedIF" <TedIf@TedIF> a écrit dans le message de news:
uwcWfqvIEHA.3988@tk2msftngp13.phx.gbl...
SELECT ..
INTO #TMP
FROM ...
WHERE (test and condition1) or Condition2
"toto" <toto@titi.com> a écrit dans le message de
news:%23YIjZDvIEHA.2524@TK2MSFTNGP11.phx.gbl...
> bonjour,
>
> J'ai un petit probleme dans une SP.
>
> Je dois faire un SELECT INTO qui depend de certains arguments.
>
> Je voulais donc faire qq chose du genre :
>
> IF test
> BEGIN
> SELECT ..
> INTO #TMP
> FROM ...
> WHERE condition1
> END
> ElsE
> BEGIN
> SELECT ..
> INTO #TMP
> FROM ...
> WHERE condition2
> END
>
> à la verif syntaxique, il me dit qu'un objet #TMP existe deja
>
> je modifie un peu en gardant le premier select intact mais en placant le
> second dans un EXEC
>
> IF test
> BEGIN
> SELECT ..
> INTO #TMP
> FROM ...
> WHERE condition1
> END
> ElsE
> BEGIN
> EXEC ('SELECT ..
> INTO #TMP
> FROM ...
> WHERE condition2')
> END
>
> la verif syntaxique est ok mais le probleme est que maintenant lorsque
la
> condition 2 est reunie, il me dit à l'execution que #TMP n'existe pas ;
il
a
> du faire son EXEC dans un environnement different .
> J'ai egalement essayé de mettre les 2 select into dans un exec mais rien
n'y
> fait.
>
> Ma question est donc :
> comment definir un select into conditionnel dans une table temporaire et
> pouvoir la reutiliser apres.
>
> Merci pour votre aide pour un newbie en T-SQL
>
> Cordialement
>
>
>
merci pour vos réponses, qui permettent de contourner le probleme (en utilisant une requete unique). cependant, si ma requete n'avait pas pu etre "unifiée" (cad obligation de faire 2 requetes), comment auriez vous fait ?
Merci
"TedIF" a écrit dans le message de news:
SELECT .. INTO #TMP FROM ... WHERE (test and condition1) or Condition2
"toto" a écrit dans le message de news:% > bonjour, > > J'ai un petit probleme dans une SP. > > Je dois faire un SELECT INTO qui depend de certains arguments. > > Je voulais donc faire qq chose du genre : > > IF test > BEGIN > SELECT .. > INTO #TMP > FROM ... > WHERE condition1 > END > ElsE > BEGIN > SELECT .. > INTO #TMP > FROM ... > WHERE condition2 > END > > à la verif syntaxique, il me dit qu'un objet #TMP existe deja > > je modifie un peu en gardant le premier select intact mais en placant le > second dans un EXEC > > IF test > BEGIN > SELECT .. > INTO #TMP > FROM ... > WHERE condition1 > END > ElsE > BEGIN > EXEC ('SELECT .. > INTO #TMP > FROM ... > WHERE condition2') > END > > la verif syntaxique est ok mais le probleme est que maintenant lorsque
la
> condition 2 est reunie, il me dit à l'execution que #TMP n'existe pas ;
il
a > du faire son EXEC dans un environnement different . > J'ai egalement essayé de mettre les 2 select into dans un exec mais rien n'y > fait. > > Ma question est donc : > comment definir un select into conditionnel dans une table temporaire et > pouvoir la reutiliser apres. > > Merci pour votre aide pour un newbie en T-SQL > > Cordialement > > >
bruno reiter [MVP]
éventuellement ##TMP, si on ne peut exécuter la SP de manière concurrente
br
"toto" wrote in message news:
merci pour vos réponses, qui permettent de contourner le probleme (en utilisant une requete unique). cependant, si ma requete n'avait pas pu etre "unifiée" (cad obligation de faire 2 requetes), comment auriez vous fait ?
Merci
"TedIF" a écrit dans le message de news:
> > SELECT .. > INTO #TMP > FROM ... > WHERE (test and condition1) or Condition2 > > "toto" a écrit dans le message de > news:% > > bonjour, > > > > J'ai un petit probleme dans une SP. > > > > Je dois faire un SELECT INTO qui depend de certains arguments. > > > > Je voulais donc faire qq chose du genre : > > > > IF test > > BEGIN > > SELECT .. > > INTO #TMP > > FROM ... > > WHERE condition1 > > END > > ElsE > > BEGIN > > SELECT .. > > INTO #TMP > > FROM ... > > WHERE condition2 > > END > > > > à la verif syntaxique, il me dit qu'un objet #TMP existe deja > > > > je modifie un peu en gardant le premier select intact mais en placant
le
> > second dans un EXEC > > > > IF test > > BEGIN > > SELECT .. > > INTO #TMP > > FROM ... > > WHERE condition1 > > END > > ElsE > > BEGIN > > EXEC ('SELECT .. > > INTO #TMP > > FROM ... > > WHERE condition2') > > END > > > > la verif syntaxique est ok mais le probleme est que maintenant lorsque la > > condition 2 est reunie, il me dit à l'execution que #TMP n'existe pas
;
il > a > > du faire son EXEC dans un environnement different . > > J'ai egalement essayé de mettre les 2 select into dans un exec mais
rien
> n'y > > fait. > > > > Ma question est donc : > > comment definir un select into conditionnel dans une table temporaire
et
> > pouvoir la reutiliser apres. > > > > Merci pour votre aide pour un newbie en T-SQL > > > > Cordialement > > > > > > > >
éventuellement ##TMP, si on ne peut exécuter la SP de manière concurrente
br
"toto" <toto@titi.com> wrote in message
news:e57noGwIEHA.2300@tk2msftngp13.phx.gbl...
merci pour vos réponses, qui permettent de contourner le probleme (en
utilisant une requete unique).
cependant, si ma requete n'avait pas pu etre "unifiée" (cad obligation de
faire 2 requetes), comment auriez vous fait ?
Merci
"TedIF" <TedIf@TedIF> a écrit dans le message de news:
uwcWfqvIEHA.3988@tk2msftngp13.phx.gbl...
>
> SELECT ..
> INTO #TMP
> FROM ...
> WHERE (test and condition1) or Condition2
>
> "toto" <toto@titi.com> a écrit dans le message de
> news:%23YIjZDvIEHA.2524@TK2MSFTNGP11.phx.gbl...
> > bonjour,
> >
> > J'ai un petit probleme dans une SP.
> >
> > Je dois faire un SELECT INTO qui depend de certains arguments.
> >
> > Je voulais donc faire qq chose du genre :
> >
> > IF test
> > BEGIN
> > SELECT ..
> > INTO #TMP
> > FROM ...
> > WHERE condition1
> > END
> > ElsE
> > BEGIN
> > SELECT ..
> > INTO #TMP
> > FROM ...
> > WHERE condition2
> > END
> >
> > à la verif syntaxique, il me dit qu'un objet #TMP existe deja
> >
> > je modifie un peu en gardant le premier select intact mais en placant
le
> > second dans un EXEC
> >
> > IF test
> > BEGIN
> > SELECT ..
> > INTO #TMP
> > FROM ...
> > WHERE condition1
> > END
> > ElsE
> > BEGIN
> > EXEC ('SELECT ..
> > INTO #TMP
> > FROM ...
> > WHERE condition2')
> > END
> >
> > la verif syntaxique est ok mais le probleme est que maintenant lorsque
la
> > condition 2 est reunie, il me dit à l'execution que #TMP n'existe pas
;
il
> a
> > du faire son EXEC dans un environnement different .
> > J'ai egalement essayé de mettre les 2 select into dans un exec mais
rien
> n'y
> > fait.
> >
> > Ma question est donc :
> > comment definir un select into conditionnel dans une table temporaire
et
> > pouvoir la reutiliser apres.
> >
> > Merci pour votre aide pour un newbie en T-SQL
> >
> > Cordialement
> >
> >
> >
>
>
éventuellement ##TMP, si on ne peut exécuter la SP de manière concurrente
br
"toto" wrote in message news:
merci pour vos réponses, qui permettent de contourner le probleme (en utilisant une requete unique). cependant, si ma requete n'avait pas pu etre "unifiée" (cad obligation de faire 2 requetes), comment auriez vous fait ?
Merci
"TedIF" a écrit dans le message de news:
> > SELECT .. > INTO #TMP > FROM ... > WHERE (test and condition1) or Condition2 > > "toto" a écrit dans le message de > news:% > > bonjour, > > > > J'ai un petit probleme dans une SP. > > > > Je dois faire un SELECT INTO qui depend de certains arguments. > > > > Je voulais donc faire qq chose du genre : > > > > IF test > > BEGIN > > SELECT .. > > INTO #TMP > > FROM ... > > WHERE condition1 > > END > > ElsE > > BEGIN > > SELECT .. > > INTO #TMP > > FROM ... > > WHERE condition2 > > END > > > > à la verif syntaxique, il me dit qu'un objet #TMP existe deja > > > > je modifie un peu en gardant le premier select intact mais en placant
le
> > second dans un EXEC > > > > IF test > > BEGIN > > SELECT .. > > INTO #TMP > > FROM ... > > WHERE condition1 > > END > > ElsE > > BEGIN > > EXEC ('SELECT .. > > INTO #TMP > > FROM ... > > WHERE condition2') > > END > > > > la verif syntaxique est ok mais le probleme est que maintenant lorsque la > > condition 2 est reunie, il me dit à l'execution que #TMP n'existe pas
;
il > a > > du faire son EXEC dans un environnement different . > > J'ai egalement essayé de mettre les 2 select into dans un exec mais
rien
> n'y > > fait. > > > > Ma question est donc : > > comment definir un select into conditionnel dans une table temporaire
et
> > pouvoir la reutiliser apres. > > > > Merci pour votre aide pour un newbie en T-SQL > > > > Cordialement > > > > > > > >
lionelp
Bonjour,
create table #tempo
if condition insert into #tempo select1 else insert into #tempo select2
Sinon le cas où l'on doit faire 2 requêtes doit être assez rare.
Cordialement, LionelP
-----Message d'origine----- merci pour vos réponses, qui permettent de contourner le
probleme (en
utilisant une requete unique). cependant, si ma requete n'avait pas pu etre "unifiée"
(cad obligation de
faire 2 requetes), comment auriez vous fait ?
Merci
"TedIF" a écrit dans le message de news:
SELECT .. INTO #TMP FROM ... WHERE (test and condition1) or Condition2
"toto" a écrit dans le message de news:% > bonjour, > > J'ai un petit probleme dans une SP. > > Je dois faire un SELECT INTO qui depend de certains
arguments.
> > Je voulais donc faire qq chose du genre : > > IF test > BEGIN > SELECT .. > INTO #TMP > FROM ... > WHERE condition1 > END > ElsE > BEGIN > SELECT .. > INTO #TMP > FROM ... > WHERE condition2 > END > > à la verif syntaxique, il me dit qu'un objet #TMP
existe deja
> > je modifie un peu en gardant le premier select intact
mais en placant le
> second dans un EXEC > > IF test > BEGIN > SELECT .. > INTO #TMP > FROM ... > WHERE condition1 > END > ElsE > BEGIN > EXEC ('SELECT .. > INTO #TMP > FROM ... > WHERE condition2') > END > > la verif syntaxique est ok mais le probleme est que
maintenant lorsque
la
> condition 2 est reunie, il me dit à l'execution que
#TMP n'existe pas ;
il
a > du faire son EXEC dans un environnement different . > J'ai egalement essayé de mettre les 2 select into
dans un exec mais rien
n'y > fait. > > Ma question est donc : > comment definir un select into conditionnel dans une
table temporaire et
> pouvoir la reutiliser apres. > > Merci pour votre aide pour un newbie en T-SQL > > Cordialement > > >
.
Bonjour,
create table #tempo
if condition
insert into #tempo select1
else
insert into #tempo select2
Sinon le cas où l'on doit faire 2 requêtes doit être assez
rare.
Cordialement,
LionelP
-----Message d'origine-----
merci pour vos réponses, qui permettent de contourner le
probleme (en
utilisant une requete unique).
cependant, si ma requete n'avait pas pu etre "unifiée"
(cad obligation de
faire 2 requetes), comment auriez vous fait ?
Merci
"TedIF" <TedIf@TedIF> a écrit dans le message de news:
uwcWfqvIEHA.3988@tk2msftngp13.phx.gbl...
SELECT ..
INTO #TMP
FROM ...
WHERE (test and condition1) or Condition2
"toto" <toto@titi.com> a écrit dans le message de
news:%23YIjZDvIEHA.2524@TK2MSFTNGP11.phx.gbl...
> bonjour,
>
> J'ai un petit probleme dans une SP.
>
> Je dois faire un SELECT INTO qui depend de certains
arguments.
>
> Je voulais donc faire qq chose du genre :
>
> IF test
> BEGIN
> SELECT ..
> INTO #TMP
> FROM ...
> WHERE condition1
> END
> ElsE
> BEGIN
> SELECT ..
> INTO #TMP
> FROM ...
> WHERE condition2
> END
>
> à la verif syntaxique, il me dit qu'un objet #TMP
existe deja
>
> je modifie un peu en gardant le premier select intact
mais en placant le
> second dans un EXEC
>
> IF test
> BEGIN
> SELECT ..
> INTO #TMP
> FROM ...
> WHERE condition1
> END
> ElsE
> BEGIN
> EXEC ('SELECT ..
> INTO #TMP
> FROM ...
> WHERE condition2')
> END
>
> la verif syntaxique est ok mais le probleme est que
maintenant lorsque
la
> condition 2 est reunie, il me dit à l'execution que
#TMP n'existe pas ;
il
a
> du faire son EXEC dans un environnement different .
> J'ai egalement essayé de mettre les 2 select into
dans un exec mais rien
n'y
> fait.
>
> Ma question est donc :
> comment definir un select into conditionnel dans une
table temporaire et
> pouvoir la reutiliser apres.
>
> Merci pour votre aide pour un newbie en T-SQL
>
> Cordialement
>
>
>
if condition insert into #tempo select1 else insert into #tempo select2
Sinon le cas où l'on doit faire 2 requêtes doit être assez rare.
Cordialement, LionelP
-----Message d'origine----- merci pour vos réponses, qui permettent de contourner le
probleme (en
utilisant une requete unique). cependant, si ma requete n'avait pas pu etre "unifiée"
(cad obligation de
faire 2 requetes), comment auriez vous fait ?
Merci
"TedIF" a écrit dans le message de news:
SELECT .. INTO #TMP FROM ... WHERE (test and condition1) or Condition2
"toto" a écrit dans le message de news:% > bonjour, > > J'ai un petit probleme dans une SP. > > Je dois faire un SELECT INTO qui depend de certains
arguments.
> > Je voulais donc faire qq chose du genre : > > IF test > BEGIN > SELECT .. > INTO #TMP > FROM ... > WHERE condition1 > END > ElsE > BEGIN > SELECT .. > INTO #TMP > FROM ... > WHERE condition2 > END > > à la verif syntaxique, il me dit qu'un objet #TMP
existe deja
> > je modifie un peu en gardant le premier select intact
mais en placant le
> second dans un EXEC > > IF test > BEGIN > SELECT .. > INTO #TMP > FROM ... > WHERE condition1 > END > ElsE > BEGIN > EXEC ('SELECT .. > INTO #TMP > FROM ... > WHERE condition2') > END > > la verif syntaxique est ok mais le probleme est que
maintenant lorsque
la
> condition 2 est reunie, il me dit à l'execution que
#TMP n'existe pas ;
il
a > du faire son EXEC dans un environnement different . > J'ai egalement essayé de mettre les 2 select into
dans un exec mais rien
n'y > fait. > > Ma question est donc : > comment definir un select into conditionnel dans une
table temporaire et
> pouvoir la reutiliser apres. > > Merci pour votre aide pour un newbie en T-SQL > > Cordialement > > >