Je cherche à créer une procedure stockée qui va réindexer une base placée en
argument : exec sp_reindexBase 'DatabaseName'.
Dans le code de ma procedure, j'aimerais integrer cette argument dans la
requete SQL mais à chaque fois il me retourne une erreur :
USE @DatabaseName
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
De la meme façon,
SELECT TABLE_NAME FROM @DatabaseName.INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
ne marche pas.
Je débute en SQL et je ne sais pas comment utiliser mon argument. Est-ce que
quelqu'un a déjà intégrer des variables dans des requetes SQL ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Yves
Bonjour ,
Tu peux faire comme ceci :
... Declare @TxtSQL varchar(500) set @TxtSQL='SELECT TABLE_NAME FROM ' + @DataBaseName + '.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = ''BASE TABLE''' exec(@TxtSQL) ...
Jean-Yves
"laetitia" a écrit dans le message de news:
Bonjour,
Je cherche à créer une procedure stockée qui va réindexer une base placée
en
argument : exec sp_reindexBase 'DatabaseName'.
Dans le code de ma procedure, j'aimerais integrer cette argument dans la requete SQL mais à chaque fois il me retourne une erreur : USE @DatabaseName SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'
De la meme façon, SELECT TABLE_NAME FROM @DatabaseName.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' ne marche pas.
Je débute en SQL et je ne sais pas comment utiliser mon argument. Est-ce
que
quelqu'un a déjà intégrer des variables dans des requetes SQL ?
Merci par avance Laetitia
Bonjour ,
Tu peux faire comme ceci :
...
Declare @TxtSQL varchar(500)
set @TxtSQL='SELECT TABLE_NAME FROM ' + @DataBaseName +
'.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = ''BASE TABLE'''
exec(@TxtSQL)
...
Jean-Yves
"laetitia" <laetitia@discussions.microsoft.com> a écrit dans le message de
news:3BB4A04A-86F1-4E53-9BB8-64D20E67F33B@microsoft.com...
Bonjour,
Je cherche à créer une procedure stockée qui va réindexer une base placée
en
argument : exec sp_reindexBase 'DatabaseName'.
Dans le code de ma procedure, j'aimerais integrer cette argument dans la
requete SQL mais à chaque fois il me retourne une erreur :
USE @DatabaseName
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
De la meme façon,
SELECT TABLE_NAME FROM @DatabaseName.INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
ne marche pas.
Je débute en SQL et je ne sais pas comment utiliser mon argument. Est-ce
que
quelqu'un a déjà intégrer des variables dans des requetes SQL ?
... Declare @TxtSQL varchar(500) set @TxtSQL='SELECT TABLE_NAME FROM ' + @DataBaseName + '.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = ''BASE TABLE''' exec(@TxtSQL) ...
Jean-Yves
"laetitia" a écrit dans le message de news:
Bonjour,
Je cherche à créer une procedure stockée qui va réindexer une base placée
en
argument : exec sp_reindexBase 'DatabaseName'.
Dans le code de ma procedure, j'aimerais integrer cette argument dans la requete SQL mais à chaque fois il me retourne une erreur : USE @DatabaseName SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'
De la meme façon, SELECT TABLE_NAME FROM @DatabaseName.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' ne marche pas.
Je débute en SQL et je ne sais pas comment utiliser mon argument. Est-ce
que
quelqu'un a déjà intégrer des variables dans des requetes SQL ?
Merci par avance Laetitia
laetitia
ça marche mais seulement si j'execute directemement la requete.
En fait je veux recuperer le resultat de ma requete dans un cursor. DECLARE TableCursor CURSOR FOR SELECT TABLE_NAME FROM @DocbaseName.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'
Si je fais : DECLARE TableCursor CURSOR FOR EXECUTE (@TxtSQL) => j'obtiens une erreur. Je ne sais pas si ma syntaxe est correcte
"Jean-Yves" a écrit :
Bonjour ,
Tu peux faire comme ceci :
.... Declare @TxtSQL varchar(500) set @TxtSQL='SELECT TABLE_NAME FROM ' + @DataBaseName + '.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = ''BASE TABLE''' exec(@TxtSQL) ....
Jean-Yves
"laetitia" a écrit dans le message de news: > Bonjour, > > Je cherche à créer une procedure stockée qui va réindexer une base placée en > argument : exec sp_reindexBase 'DatabaseName'. > > Dans le code de ma procedure, j'aimerais integrer cette argument dans la > requete SQL mais à chaque fois il me retourne une erreur : > USE @DatabaseName > SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES > WHERE TABLE_TYPE = 'BASE TABLE' > > De la meme façon, > SELECT TABLE_NAME FROM @DatabaseName.INFORMATION_SCHEMA.TABLES > WHERE TABLE_TYPE = 'BASE TABLE' > ne marche pas. > > Je débute en SQL et je ne sais pas comment utiliser mon argument. Est-ce que > quelqu'un a déjà intégrer des variables dans des requetes SQL ? > > Merci par avance > Laetitia >
ça marche mais seulement si j'execute directemement la requete.
En fait je veux recuperer le resultat de ma requete dans un cursor.
DECLARE TableCursor CURSOR FOR
SELECT TABLE_NAME FROM @DocbaseName.INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
Si je fais :
DECLARE TableCursor CURSOR
FOR EXECUTE (@TxtSQL)
=> j'obtiens une erreur. Je ne sais pas si ma syntaxe est correcte
"Jean-Yves" a écrit :
Bonjour ,
Tu peux faire comme ceci :
....
Declare @TxtSQL varchar(500)
set @TxtSQL='SELECT TABLE_NAME FROM ' + @DataBaseName +
'.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = ''BASE TABLE'''
exec(@TxtSQL)
....
Jean-Yves
"laetitia" <laetitia@discussions.microsoft.com> a écrit dans le message de
news:3BB4A04A-86F1-4E53-9BB8-64D20E67F33B@microsoft.com...
> Bonjour,
>
> Je cherche à créer une procedure stockée qui va réindexer une base placée
en
> argument : exec sp_reindexBase 'DatabaseName'.
>
> Dans le code de ma procedure, j'aimerais integrer cette argument dans la
> requete SQL mais à chaque fois il me retourne une erreur :
> USE @DatabaseName
> SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
> WHERE TABLE_TYPE = 'BASE TABLE'
>
> De la meme façon,
> SELECT TABLE_NAME FROM @DatabaseName.INFORMATION_SCHEMA.TABLES
> WHERE TABLE_TYPE = 'BASE TABLE'
> ne marche pas.
>
> Je débute en SQL et je ne sais pas comment utiliser mon argument. Est-ce
que
> quelqu'un a déjà intégrer des variables dans des requetes SQL ?
>
> Merci par avance
> Laetitia
>
ça marche mais seulement si j'execute directemement la requete.
En fait je veux recuperer le resultat de ma requete dans un cursor. DECLARE TableCursor CURSOR FOR SELECT TABLE_NAME FROM @DocbaseName.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'
Si je fais : DECLARE TableCursor CURSOR FOR EXECUTE (@TxtSQL) => j'obtiens une erreur. Je ne sais pas si ma syntaxe est correcte
"Jean-Yves" a écrit :
Bonjour ,
Tu peux faire comme ceci :
.... Declare @TxtSQL varchar(500) set @TxtSQL='SELECT TABLE_NAME FROM ' + @DataBaseName + '.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = ''BASE TABLE''' exec(@TxtSQL) ....
Jean-Yves
"laetitia" a écrit dans le message de news: > Bonjour, > > Je cherche à créer une procedure stockée qui va réindexer une base placée en > argument : exec sp_reindexBase 'DatabaseName'. > > Dans le code de ma procedure, j'aimerais integrer cette argument dans la > requete SQL mais à chaque fois il me retourne une erreur : > USE @DatabaseName > SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES > WHERE TABLE_TYPE = 'BASE TABLE' > > De la meme façon, > SELECT TABLE_NAME FROM @DatabaseName.INFORMATION_SCHEMA.TABLES > WHERE TABLE_TYPE = 'BASE TABLE' > ne marche pas. > > Je débute en SQL et je ne sais pas comment utiliser mon argument. Est-ce que > quelqu'un a déjà intégrer des variables dans des requetes SQL ? > > Merci par avance > Laetitia >
Jean-Yves
Il faut intégrer le déclare cursor dans l'execute : ... exec('DECLARE TableCursor CURSOR FOR ' + @TxtSQL) OPENCURSOR TableCursor ...
"laetitia" a écrit dans le message de news:
ça marche mais seulement si j'execute directemement la requete.
En fait je veux recuperer le resultat de ma requete dans un cursor. DECLARE TableCursor CURSOR FOR SELECT TABLE_NAME FROM @DocbaseName.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'
Si je fais : DECLARE TableCursor CURSOR FOR EXECUTE (@TxtSQL) => j'obtiens une erreur. Je ne sais pas si ma syntaxe est correcte
"Jean-Yves" a écrit :
> Bonjour , > > Tu peux faire comme ceci : > > .... > Declare @TxtSQL varchar(500) > set @TxtSQL='SELECT TABLE_NAME FROM ' + @DataBaseName + > '.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = ''BASE TABLE''' > exec(@TxtSQL) > .... > > Jean-Yves > > "laetitia" a écrit dans le message
de
> news: > > Bonjour, > > > > Je cherche à créer une procedure stockée qui va réindexer une base
placée
> en > > argument : exec sp_reindexBase 'DatabaseName'. > > > > Dans le code de ma procedure, j'aimerais integrer cette argument dans
la
> > requete SQL mais à chaque fois il me retourne une erreur : > > USE @DatabaseName > > SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES > > WHERE TABLE_TYPE = 'BASE TABLE' > > > > De la meme façon, > > SELECT TABLE_NAME FROM @DatabaseName.INFORMATION_SCHEMA.TABLES > > WHERE TABLE_TYPE = 'BASE TABLE' > > ne marche pas. > > > > Je débute en SQL et je ne sais pas comment utiliser mon argument.
Est-ce
> que > > quelqu'un a déjà intégrer des variables dans des requetes SQL ? > > > > Merci par avance > > Laetitia > > > > >
Il faut intégrer le déclare cursor dans l'execute :
...
exec('DECLARE TableCursor CURSOR FOR ' + @TxtSQL)
OPENCURSOR TableCursor
...
"laetitia" <laetitia@discussions.microsoft.com> a écrit dans le message de
news:F3611A04-57F8-451B-B11A-D100027DD3B8@microsoft.com...
ça marche mais seulement si j'execute directemement la requete.
En fait je veux recuperer le resultat de ma requete dans un cursor.
DECLARE TableCursor CURSOR FOR
SELECT TABLE_NAME FROM @DocbaseName.INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
Si je fais :
DECLARE TableCursor CURSOR
FOR EXECUTE (@TxtSQL)
=> j'obtiens une erreur. Je ne sais pas si ma syntaxe est correcte
"Jean-Yves" a écrit :
> Bonjour ,
>
> Tu peux faire comme ceci :
>
> ....
> Declare @TxtSQL varchar(500)
> set @TxtSQL='SELECT TABLE_NAME FROM ' + @DataBaseName +
> '.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = ''BASE TABLE'''
> exec(@TxtSQL)
> ....
>
> Jean-Yves
>
> "laetitia" <laetitia@discussions.microsoft.com> a écrit dans le message
de
> news:3BB4A04A-86F1-4E53-9BB8-64D20E67F33B@microsoft.com...
> > Bonjour,
> >
> > Je cherche à créer une procedure stockée qui va réindexer une base
placée
> en
> > argument : exec sp_reindexBase 'DatabaseName'.
> >
> > Dans le code de ma procedure, j'aimerais integrer cette argument dans
la
> > requete SQL mais à chaque fois il me retourne une erreur :
> > USE @DatabaseName
> > SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
> > WHERE TABLE_TYPE = 'BASE TABLE'
> >
> > De la meme façon,
> > SELECT TABLE_NAME FROM @DatabaseName.INFORMATION_SCHEMA.TABLES
> > WHERE TABLE_TYPE = 'BASE TABLE'
> > ne marche pas.
> >
> > Je débute en SQL et je ne sais pas comment utiliser mon argument.
Est-ce
> que
> > quelqu'un a déjà intégrer des variables dans des requetes SQL ?
> >
> > Merci par avance
> > Laetitia
> >
>
>
>
Il faut intégrer le déclare cursor dans l'execute : ... exec('DECLARE TableCursor CURSOR FOR ' + @TxtSQL) OPENCURSOR TableCursor ...
"laetitia" a écrit dans le message de news:
ça marche mais seulement si j'execute directemement la requete.
En fait je veux recuperer le resultat de ma requete dans un cursor. DECLARE TableCursor CURSOR FOR SELECT TABLE_NAME FROM @DocbaseName.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'
Si je fais : DECLARE TableCursor CURSOR FOR EXECUTE (@TxtSQL) => j'obtiens une erreur. Je ne sais pas si ma syntaxe est correcte
"Jean-Yves" a écrit :
> Bonjour , > > Tu peux faire comme ceci : > > .... > Declare @TxtSQL varchar(500) > set @TxtSQL='SELECT TABLE_NAME FROM ' + @DataBaseName + > '.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = ''BASE TABLE''' > exec(@TxtSQL) > .... > > Jean-Yves > > "laetitia" a écrit dans le message
de
> news: > > Bonjour, > > > > Je cherche à créer une procedure stockée qui va réindexer une base
placée
> en > > argument : exec sp_reindexBase 'DatabaseName'. > > > > Dans le code de ma procedure, j'aimerais integrer cette argument dans
la
> > requete SQL mais à chaque fois il me retourne une erreur : > > USE @DatabaseName > > SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES > > WHERE TABLE_TYPE = 'BASE TABLE' > > > > De la meme façon, > > SELECT TABLE_NAME FROM @DatabaseName.INFORMATION_SCHEMA.TABLES > > WHERE TABLE_TYPE = 'BASE TABLE' > > ne marche pas. > > > > Je débute en SQL et je ne sais pas comment utiliser mon argument.
Est-ce
> que > > quelqu'un a déjà intégrer des variables dans des requetes SQL ? > > > > Merci par avance > > Laetitia > > > > >
laetitia
Merci. ça marche beaucoup mieux comme ça
"Jean-Yves" a écrit :
Il faut intégrer le déclare cursor dans l'execute : .... exec('DECLARE TableCursor CURSOR FOR ' + @TxtSQL) OPENCURSOR TableCursor ....
"laetitia" a écrit dans le message de news: > ça marche mais seulement si j'execute directemement la requete. > > En fait je veux recuperer le resultat de ma requete dans un cursor. > DECLARE TableCursor CURSOR FOR > SELECT TABLE_NAME FROM @DocbaseName.INFORMATION_SCHEMA.TABLES > WHERE TABLE_TYPE = 'BASE TABLE' > > Si je fais : > DECLARE TableCursor CURSOR > FOR EXECUTE (@TxtSQL) > => j'obtiens une erreur. Je ne sais pas si ma syntaxe est correcte > > > "Jean-Yves" a écrit : > > > Bonjour , > > > > Tu peux faire comme ceci : > > > > .... > > Declare @TxtSQL varchar(500) > > set @TxtSQL='SELECT TABLE_NAME FROM ' + @DataBaseName + > > '.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = ''BASE TABLE''' > > exec(@TxtSQL) > > .... > > > > Jean-Yves > > > > "laetitia" a écrit dans le message de > > news: > > > Bonjour, > > > > > > Je cherche à créer une procedure stockée qui va réindexer une base placée > > en > > > argument : exec sp_reindexBase 'DatabaseName'. > > > > > > Dans le code de ma procedure, j'aimerais integrer cette argument dans la > > > requete SQL mais à chaque fois il me retourne une erreur : > > > USE @DatabaseName > > > SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES > > > WHERE TABLE_TYPE = 'BASE TABLE' > > > > > > De la meme façon, > > > SELECT TABLE_NAME FROM @DatabaseName.INFORMATION_SCHEMA.TABLES > > > WHERE TABLE_TYPE = 'BASE TABLE' > > > ne marche pas. > > > > > > Je débute en SQL et je ne sais pas comment utiliser mon argument. Est-ce > > que > > > quelqu'un a déjà intégrer des variables dans des requetes SQL ? > > > > > > Merci par avance > > > Laetitia > > > > > > > > >
Merci. ça marche beaucoup mieux comme ça
"Jean-Yves" a écrit :
Il faut intégrer le déclare cursor dans l'execute :
....
exec('DECLARE TableCursor CURSOR FOR ' + @TxtSQL)
OPENCURSOR TableCursor
....
"laetitia" <laetitia@discussions.microsoft.com> a écrit dans le message de
news:F3611A04-57F8-451B-B11A-D100027DD3B8@microsoft.com...
> ça marche mais seulement si j'execute directemement la requete.
>
> En fait je veux recuperer le resultat de ma requete dans un cursor.
> DECLARE TableCursor CURSOR FOR
> SELECT TABLE_NAME FROM @DocbaseName.INFORMATION_SCHEMA.TABLES
> WHERE TABLE_TYPE = 'BASE TABLE'
>
> Si je fais :
> DECLARE TableCursor CURSOR
> FOR EXECUTE (@TxtSQL)
> => j'obtiens une erreur. Je ne sais pas si ma syntaxe est correcte
>
>
> "Jean-Yves" a écrit :
>
> > Bonjour ,
> >
> > Tu peux faire comme ceci :
> >
> > ....
> > Declare @TxtSQL varchar(500)
> > set @TxtSQL='SELECT TABLE_NAME FROM ' + @DataBaseName +
> > '.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = ''BASE TABLE'''
> > exec(@TxtSQL)
> > ....
> >
> > Jean-Yves
> >
> > "laetitia" <laetitia@discussions.microsoft.com> a écrit dans le message
de
> > news:3BB4A04A-86F1-4E53-9BB8-64D20E67F33B@microsoft.com...
> > > Bonjour,
> > >
> > > Je cherche à créer une procedure stockée qui va réindexer une base
placée
> > en
> > > argument : exec sp_reindexBase 'DatabaseName'.
> > >
> > > Dans le code de ma procedure, j'aimerais integrer cette argument dans
la
> > > requete SQL mais à chaque fois il me retourne une erreur :
> > > USE @DatabaseName
> > > SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
> > > WHERE TABLE_TYPE = 'BASE TABLE'
> > >
> > > De la meme façon,
> > > SELECT TABLE_NAME FROM @DatabaseName.INFORMATION_SCHEMA.TABLES
> > > WHERE TABLE_TYPE = 'BASE TABLE'
> > > ne marche pas.
> > >
> > > Je débute en SQL et je ne sais pas comment utiliser mon argument.
Est-ce
> > que
> > > quelqu'un a déjà intégrer des variables dans des requetes SQL ?
> > >
> > > Merci par avance
> > > Laetitia
> > >
> >
> >
> >
Il faut intégrer le déclare cursor dans l'execute : .... exec('DECLARE TableCursor CURSOR FOR ' + @TxtSQL) OPENCURSOR TableCursor ....
"laetitia" a écrit dans le message de news: > ça marche mais seulement si j'execute directemement la requete. > > En fait je veux recuperer le resultat de ma requete dans un cursor. > DECLARE TableCursor CURSOR FOR > SELECT TABLE_NAME FROM @DocbaseName.INFORMATION_SCHEMA.TABLES > WHERE TABLE_TYPE = 'BASE TABLE' > > Si je fais : > DECLARE TableCursor CURSOR > FOR EXECUTE (@TxtSQL) > => j'obtiens une erreur. Je ne sais pas si ma syntaxe est correcte > > > "Jean-Yves" a écrit : > > > Bonjour , > > > > Tu peux faire comme ceci : > > > > .... > > Declare @TxtSQL varchar(500) > > set @TxtSQL='SELECT TABLE_NAME FROM ' + @DataBaseName + > > '.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = ''BASE TABLE''' > > exec(@TxtSQL) > > .... > > > > Jean-Yves > > > > "laetitia" a écrit dans le message de > > news: > > > Bonjour, > > > > > > Je cherche à créer une procedure stockée qui va réindexer une base placée > > en > > > argument : exec sp_reindexBase 'DatabaseName'. > > > > > > Dans le code de ma procedure, j'aimerais integrer cette argument dans la > > > requete SQL mais à chaque fois il me retourne une erreur : > > > USE @DatabaseName > > > SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES > > > WHERE TABLE_TYPE = 'BASE TABLE' > > > > > > De la meme façon, > > > SELECT TABLE_NAME FROM @DatabaseName.INFORMATION_SCHEMA.TABLES > > > WHERE TABLE_TYPE = 'BASE TABLE' > > > ne marche pas. > > > > > > Je débute en SQL et je ne sais pas comment utiliser mon argument. Est-ce > > que > > > quelqu'un a déjà intégrer des variables dans des requetes SQL ? > > > > > > Merci par avance > > > Laetitia > > > > > > > > >