IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

transact-sql : Commande USE


Sujet :

MS SQL Server

  1. #1
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 2
    Par défaut transact-sql : Commande USE
    Bonjour,

    suite a la creation d'un curseur pour recuperer le nom de mes bases,
    je n'arrive pas a utiliser la conmmande USE DBNAME:

    DECLARE CURSORAGENCE CURSOR
    FOR
    SELECT DB_NAME FROM LISTE_AGENCES
    OPEN CURSORAGENCE
    FETCH CURSORAGENCE INTO @AGENCE

    USE @AGENCE

    J'ai l'erreur suivante : Incorrect syntax near '@AGENCE'

    Si quelqu'un a déjà rencontré ce probléme ca me rendrait bien service.

    Cordialement

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 997
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 997
    Billets dans le blog
    6
    Par défaut
    Vous ne pouvez pas paramétrer ce type de commande. Les seuls paramètres sont des paramètres d'ordre SQL et d'appel de procédures et fonctions. Pour les requêtes SQL seul les expressions sont paramètrable pas les nom d'objet (nom de table, de colonne...) ni les mots clef (WHERE, IN...).

    Expliquez plus en détail ce que vous voulez faire, car je doute de l'intérêt d'avoir à utiliser un USE paramétrable !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 2
    Par défaut
    L'interet est simple:
    Sur mon instance j'ai N database et je veux parcourir
    l'ensemble des bases pour effectuer une requete.
    Pour se faire je dois pouvoir dans mon code recuperer le nom de la base
    est faire un use name_base et je boucle sur le nom des bases pour faire
    le traitement.
    J'ai cette autre solution :

    set @SQL = 'USE ' + rtrim(@AGENCE) + ';select no_ope_journal from journal where etat_host>10'
    EXEC(@SQL)
    Avec ca je recupere tout, la variable AGENCE est valide.

    Cordialement

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 997
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 997
    Billets dans le blog
    6
    Par défaut
    Effectivement vous pouvez utiliser du SQL dynamique et préfixer vos objet par le nom de la base.

    vous pouvez aussi utiliser le procédure non documentée sp_MSforeachdb.
    Lisez l'article que j'ai écrit à ce sujet :
    http://sqlpro.developpez.com/cours/s...voidCursor/#L4

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. SQL Server 2000 - Parametrage nom de base commande USE
    Par jjb44 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 28/02/2006, 17h37
  2. Transact Sql : Conversion de variable
    Par lord_paco dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/08/2003, 13h25
  3. Conversion de SQL à Transact-SQL
    Par sebioni dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 03/07/2003, 11h59
  4. - fonction Transact-SQL...
    Par korrigann dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/05/2003, 15h00
  5. [CR9] SQL commands
    Par CDRIK dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 12/03/2003, 09h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo