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

Développement SQL Server Discussion :

Utilistation de DECLARE @var TABLE ( )


Sujet :

Développement SQL Server

  1. #1
    Membre régulier

    Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2004
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2004
    Messages : 130
    Points : 99
    Points
    99
    Par défaut Utilistation de DECLARE @var TABLE ( )
    Bonjour,

    Je souhaite historiser la taille des mes fichiers data et log de tous mes serveurs (20) et instances (70).

    je me propose de lancer un sqlcmd sur chaque serveur/instance qui exécute un script dans master.

    Depuis master,je place le nom de la base dans une variable @base (extraite de sys.databases) et je souhaite passer le script:

    select name, physical_name, size from @base.sys.database_files informations que j historiserai.

    cela ne fonctionne pas.

    La doc précise :
    Une variable de table peut être spécifiée comme source de table.

    Pour la variable table, je la déclare comme suit:
    declare @base table( MaBase varchar (50))
    print @base


    la déclarative fonctionne mais ni le print ni le select sur la variable!

    Si quelqu un peut éclairer ma lanterne, éh bien la vie serait encore plus belle.
    Merci d'avance
    L
    Cordialement....

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut
    Pour accèder dynamiquement à différentes base de données, tu dois construire des query (concatenation de chaîne de caractères) qui le feront

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SET @monquery = 'select ....' + @mabase + '.dbo.maTable ...'
     
    EXECUTE (sqlexecute*) @monquery
    * je ne suis plus sur de l'ortho, mais vois dans la doc, c'est une procédure bien utile dans certains cas.
    Most Valued Pas mvp

  3. #3
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 797
    Points
    4 797
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    declare @base table( MaBase varchar (50))
    print @base
    ...ne marche pas car @base est considéré comme une table.

    Pour voir le contenu il faut faire
    Pour alimenter @base, la syntaxe est la même que pour une table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO @base (MaBase) SELECT name FROM ....
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  4. #4
    Membre régulier

    Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2004
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2004
    Messages : 130
    Points : 99
    Points
    99
    Par défaut
    Merci pour le informations.... et en plus, cela fonctionne
    Cordialement....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Create Table #tmp ou Declare @tmp Table
    Par weebo dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 29/09/2011, 11h06
  2. suppression d'une variable declare avec var
    Par the-destroyer dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 28/05/2011, 13h51
  3. declarer les variables d une table
    Par blaise4714 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 08/05/2009, 11h31
  4. declarer nom table comme variable
    Par naouah dans le forum ASP
    Réponses: 6
    Dernier message: 29/08/2007, 17h25
  5. [MySQL] plusieurs rubriques provenants d'une même table devant passer les var différents par
    Par wallash dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 07/06/2007, 09h13

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