Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

table tempo qui ne passe pas après le passage dans un EXEC

3 réponses
Avatar
Fabrice
Bonjour,

Pourquoi cela ne marche pas ?

DROP TABLE #tmpta
exec ('select adresse into #tmpta from agence where numagence=5')
select * from #tmpta

Est-ce que cela est dû au fait que je remplis la table tempo #tmpta dans
l'exec ? Si oui, peut-on contourner le pb ?

Merci
Fab

3 réponses

Avatar
Fabrice
re,

J'ai oublié, j'utilise la fonction exec car dans ma requete finale j'utilise
une requête dynamique du style : EXEC ('SELECT ' + @momchamps + 'FROM ' +
@table + 'WHERE monchamps=1')
et que je ne sais pas l'exécuter sans passer pas "exec"

Encore merci pour vos réponses

Fab
"Fabrice" a écrit dans le message de news:
d8v07k$rbe$
Bonjour,

Pourquoi cela ne marche pas ?

DROP TABLE #tmpta
exec ('select adresse into #tmpta from agence where numagence=5')
select * from #tmpta

Est-ce que cela est dû au fait que je remplis la table tempo #tmpta dans
l'exec ? Si oui, peut-on contourner le pb ?

Merci
Fab





Avatar
Chris V.
Ca me semble etre un proble de contexte.

Tenter en utilisant un table temp "globale"

DROP TABLE ##tmpta
exec ('select adresse into ##tmpta from agence where numagence=5')
select * from ##tmpta



--
______________________________________________
It's still better that if it would have been worst, isn't it ?
C'est toujours mieux que si c'etait pire !
"Fabrice" a écrit dans le message de news:
d8v07k$rbe$
Bonjour,

Pourquoi cela ne marche pas ?

DROP TABLE #tmpta
exec ('select adresse into #tmpta from agence where numagence=5')
select * from #tmpta

Est-ce que cela est dû au fait que je remplis la table tempo #tmpta dans
l'exec ? Si oui, peut-on contourner le pb ?

Merci
Fab




Avatar
Fred BROUARD
Le contexte d'exécution de EXEC n'est pas le même que le contexte d'exécution du
code. La table #tmpta a bien été créé pour le contexte d'exécution de l'ordre
EXEC, mais ce n'est pas le même que le contexte d'exécution global.
Pour vous en convaincre, faîtes :

DROP TABLE #tmpta
exec ('select adresse into #tmpta from agence where numagence=5; use tempdb;
SELECT * FROM INFORMATION_SCHEMA.TABLES')
select * from #tmpta

A +

Fabrice a écrit:
Bonjour,

Pourquoi cela ne marche pas ?

DROP TABLE #tmpta
exec ('select adresse into #tmpta from agence where numagence=5')
select * from #tmpta

Est-ce que cela est dû au fait que je remplis la table tempo #tmpta dans
l'exec ? Si oui, peut-on contourner le pb ?

Merci
Fab






--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste 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
************************ www.datasapiens.com *************************