Cela marche mais uniquement dans le contexte de ton EXEC. Dès que tu en ressort, le contexte de la base est perdu.
Quel est le besoin ?
---------------------------------------------------------------------- Philippe TROTIN - Microsoft Service France
"Patrice Truong [MS]" wrote in message news: Chez moi, ceci marche bien...
DECLARE @NomBase varchar(50)
SET @NomBase = 'Pubs'
EXEC('USE ' + @NomBase + '; SELECT * FROM Authors;')
-- Patrice Truong | Microsoft Consulting Services [ This posting is provided "AS IS" with no warranties, and confers no rights.]
"Julian Alvarez" wrote in message news:
Bonjour,
je débute en t-sql et je suis bloqué sur un truc tout bête.
Je n'arrive pas à utiliser une variable qui récupère le nom d'une base avec l'instruction USE. Je voudrais faire Use @nombase.
Au départ j'écrivais select * from et j'avais le même souci.
Merci d'avance de votre aide.
Julian Alvarez
Oui en effet c'est exactement mon problème je dois pouvoir garder la base du contexte pour pouvoir continuer mon script qui lance une même requete sur une meme table mais sur une base à chaque fois différente. (Je met le nom de cette table dans ma variable qui est alimenté par un curseur).
Merci pour vos réponse.
"Philippe T [MS]" a écrit :
Bonjour,
Cela marche mais uniquement dans le contexte de ton EXEC. Dès que tu en ressort, le contexte de la base est perdu.
Quel est le besoin ?
---------------------------------------------------------------------- Philippe TROTIN - Microsoft Service France
"Patrice Truong [MS]" wrote in message news: Chez moi, ceci marche bien...
DECLARE @NomBase varchar(50)
SET @NomBase = 'Pubs'
EXEC('USE ' + @NomBase + '; SELECT * FROM Authors;')
-- Patrice Truong | Microsoft Consulting Services [ This posting is provided "AS IS" with no warranties, and confers no rights.]
"Julian Alvarez" wrote in message news:
> Bonjour, > > je débute en t-sql et je suis bloqué sur un truc tout bête. > > Je n'arrive pas à utiliser une variable qui récupère le nom d'une base > avec > l'instruction USE. Je voudrais faire Use @nombase. > > Au départ j'écrivais select * from et j'avais le même > souci. > > Merci d'avance de votre aide. >
Oui en effet c'est exactement mon problème je dois pouvoir garder la base du
contexte pour pouvoir continuer mon script qui lance une même requete sur une
meme table mais sur une base à chaque fois différente. (Je met le nom de
cette table dans ma variable qui est alimenté par un curseur).
Merci pour vos réponse.
"Philippe T [MS]" a écrit :
Bonjour,
Cela marche mais uniquement dans le contexte de ton EXEC. Dès que tu en
ressort, le contexte de la base est perdu.
Quel est le besoin ?
----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France
"Patrice Truong [MS]" <patricet@online.microsoft.com> wrote in message
news:eE4Kn39zFHA.3256@TK2MSFTNGP09.phx.gbl...
Chez moi, ceci marche bien...
DECLARE @NomBase varchar(50)
SET @NomBase = 'Pubs'
EXEC('USE ' + @NomBase + '; SELECT * FROM Authors;')
--
Patrice Truong | Microsoft Consulting Services
[ This posting is provided "AS IS" with no warranties, and confers no
rights.]
"Julian Alvarez" <JulianAlvarez@discussions.microsoft.com> wrote in message
news:D1859A45-761B-438D-AAF1-797F8CC21ACC@microsoft.com...
> Bonjour,
>
> je débute en t-sql et je suis bloqué sur un truc tout bête.
>
> Je n'arrive pas à utiliser une variable qui récupère le nom d'une base
> avec
> l'instruction USE. Je voudrais faire Use @nombase.
>
> Au départ j'écrivais select * from dbo.@nombase.table1 et j'avais le même
> souci.
>
> Merci d'avance de votre aide.
>
Oui en effet c'est exactement mon problème je dois pouvoir garder la base du contexte pour pouvoir continuer mon script qui lance une même requete sur une meme table mais sur une base à chaque fois différente. (Je met le nom de cette table dans ma variable qui est alimenté par un curseur).
Merci pour vos réponse.
"Philippe T [MS]" a écrit :
Bonjour,
Cela marche mais uniquement dans le contexte de ton EXEC. Dès que tu en ressort, le contexte de la base est perdu.
Quel est le besoin ?
---------------------------------------------------------------------- Philippe TROTIN - Microsoft Service France
"Patrice Truong [MS]" wrote in message news: Chez moi, ceci marche bien...
DECLARE @NomBase varchar(50)
SET @NomBase = 'Pubs'
EXEC('USE ' + @NomBase + '; SELECT * FROM Authors;')
-- Patrice Truong | Microsoft Consulting Services [ This posting is provided "AS IS" with no warranties, and confers no rights.]
"Julian Alvarez" wrote in message news:
> Bonjour, > > je débute en t-sql et je suis bloqué sur un truc tout bête. > > Je n'arrive pas à utiliser une variable qui récupère le nom d'une base > avec > l'instruction USE. Je voudrais faire Use @nombase. > > Au départ j'écrivais select * from et j'avais le même > souci. > > Merci d'avance de votre aide. >
Philippe T [MS]
Bonjour,
Je crois qu'il n'y a pas de solution simple si ce n'est de passer par un EXEC comme indiqué ou d'utiliser une procédure du type sp_msforeachdb. :-(
---------------------------------------------------------------------- Philippe TROTIN - Microsoft Service France
"Julian Alvarez" wrote in message news:
Oui en effet c'est exactement mon problème je dois pouvoir garder la base du contexte pour pouvoir continuer mon script qui lance une même requete sur une meme table mais sur une base à chaque fois différente. (Je met le nom de cette table dans ma variable qui est alimenté par un curseur).
Merci pour vos réponse.
"Philippe T [MS]" a écrit :
Bonjour,
Cela marche mais uniquement dans le contexte de ton EXEC. Dès que tu en ressort, le contexte de la base est perdu.
Quel est le besoin ?
---------------------------------------------------------------------- Philippe TROTIN - Microsoft Service France
"Patrice Truong [MS]" wrote in message news: Chez moi, ceci marche bien...
DECLARE @NomBase varchar(50)
SET @NomBase = 'Pubs'
EXEC('USE ' + @NomBase + '; SELECT * FROM Authors;')
-- Patrice Truong | Microsoft Consulting Services [ This posting is provided "AS IS" with no warranties, and confers no rights.]
"Julian Alvarez" wrote in message news:
> Bonjour, > > je débute en t-sql et je suis bloqué sur un truc tout bête. > > Je n'arrive pas à utiliser une variable qui récupère le nom d'une base > avec > l'instruction USE. Je voudrais faire Use @nombase. > > Au départ j'écrivais select * from et j'avais le > même > souci. > > Merci d'avance de votre aide. >
Bonjour,
Je crois qu'il n'y a pas de solution simple si ce n'est de passer par un
EXEC comme indiqué ou d'utiliser une procédure du type sp_msforeachdb. :-(
----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France
"Julian Alvarez" <JulianAlvarez@discussions.microsoft.com> wrote in message
news:BDE6AE66-10D9-4FFB-B9B6-65A2EBAFB4B0@microsoft.com...
Oui en effet c'est exactement mon problème je dois pouvoir garder la base
du
contexte pour pouvoir continuer mon script qui lance une même requete sur
une
meme table mais sur une base à chaque fois différente. (Je met le nom de
cette table dans ma variable qui est alimenté par un curseur).
Merci pour vos réponse.
"Philippe T [MS]" a écrit :
Bonjour,
Cela marche mais uniquement dans le contexte de ton EXEC. Dès que tu en
ressort, le contexte de la base est perdu.
Quel est le besoin ?
----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France
"Patrice Truong [MS]" <patricet@online.microsoft.com> wrote in message
news:eE4Kn39zFHA.3256@TK2MSFTNGP09.phx.gbl...
Chez moi, ceci marche bien...
DECLARE @NomBase varchar(50)
SET @NomBase = 'Pubs'
EXEC('USE ' + @NomBase + '; SELECT * FROM Authors;')
--
Patrice Truong | Microsoft Consulting Services
[ This posting is provided "AS IS" with no warranties, and confers no
rights.]
"Julian Alvarez" <JulianAlvarez@discussions.microsoft.com> wrote in
message
news:D1859A45-761B-438D-AAF1-797F8CC21ACC@microsoft.com...
> Bonjour,
>
> je débute en t-sql et je suis bloqué sur un truc tout bête.
>
> Je n'arrive pas à utiliser une variable qui récupère le nom d'une base
> avec
> l'instruction USE. Je voudrais faire Use @nombase.
>
> Au départ j'écrivais select * from dbo.@nombase.table1 et j'avais le
> même
> souci.
>
> Merci d'avance de votre aide.
>
Je crois qu'il n'y a pas de solution simple si ce n'est de passer par un EXEC comme indiqué ou d'utiliser une procédure du type sp_msforeachdb. :-(
---------------------------------------------------------------------- Philippe TROTIN - Microsoft Service France
"Julian Alvarez" wrote in message news:
Oui en effet c'est exactement mon problème je dois pouvoir garder la base du contexte pour pouvoir continuer mon script qui lance une même requete sur une meme table mais sur une base à chaque fois différente. (Je met le nom de cette table dans ma variable qui est alimenté par un curseur).
Merci pour vos réponse.
"Philippe T [MS]" a écrit :
Bonjour,
Cela marche mais uniquement dans le contexte de ton EXEC. Dès que tu en ressort, le contexte de la base est perdu.
Quel est le besoin ?
---------------------------------------------------------------------- Philippe TROTIN - Microsoft Service France
"Patrice Truong [MS]" wrote in message news: Chez moi, ceci marche bien...
DECLARE @NomBase varchar(50)
SET @NomBase = 'Pubs'
EXEC('USE ' + @NomBase + '; SELECT * FROM Authors;')
-- Patrice Truong | Microsoft Consulting Services [ This posting is provided "AS IS" with no warranties, and confers no rights.]
"Julian Alvarez" wrote in message news:
> Bonjour, > > je débute en t-sql et je suis bloqué sur un truc tout bête. > > Je n'arrive pas à utiliser une variable qui récupère le nom d'une base > avec > l'instruction USE. Je voudrais faire Use @nombase. > > Au départ j'écrivais select * from et j'avais le > même > souci. > > Merci d'avance de votre aide. >