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 :

Déclaration de tables de variables


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Médecin Département d'Information Médicale (DIM)
    Inscrit en
    Janvier 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Médecin Département d'Information Médicale (DIM)
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2009
    Messages : 115
    Par défaut Déclaration de tables de variables
    Bonjour

    je souhaite declarer des catégories de variables selon le modèle suivant:

    -CATEGORIE1 comprend VALEURA,VALEURB etc
    -CATEGORIE2 comprend VALEURC, VALEURD etc

    etc..

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    DECLARE @MATABLE TABLE
    (
    MAVALEUR CHAR(7)
    )
    INSERT INTO @MATABLE (MAVALEUR)
    VALUES ('VALEURA'),('VALEURB'),('VALEURC')

    J'ai un message d'erreur m'indiquant: "Ligne 6 : syntaxe incorrecte vers ','."

    J'ai essayé sans parenthèses, même résultat

    Merci

  2. #2
    Membre Expert

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Par défaut
    Peux-tu préciser la version de SQL Server ?

    Si tu es sur du 2005 tu ne peux pas faire l'insert de cette façon là.
    il faut plutôt faire quelque chose du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    DECLARE @MATABLE TABLE
    (
    MAVALEUR CHAR(7)
    )
    INSERT INTO @MATABLE (MAVALEUR)
    VALUES ('VALEURA' )
    INSERT INTO @MATABLE (MAVALEUR)
    VALUES ('VALEURB')
    INSERT INTO @MATABLE (MAVALEUR)
    VALUES ('VALEURC')
    SELECT * FROM @MATABLE
    Etienne ZINZINDOHOUE
    Billets-Articles

  3. #3
    Membre confirmé
    Homme Profil pro
    Médecin Département d'Information Médicale (DIM)
    Inscrit en
    Janvier 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Médecin Département d'Information Médicale (DIM)
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2009
    Messages : 115
    Par défaut
    Merci

    je suis sous SQL SERVER 2008

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    L'instruction telle que vous la donnez fonctionne sous SQL Server 2008 (je viens de la tester).

    @++

  5. #5
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Par défaut
    La base de données est peut-être en mode de compatibilité 2005 (ou antérieure) ou alors Management Studio est en version 2008, mais pas la base elle-même.

    Sinon, ce qui marche avec les versions antérieures (et sans insertion multiples):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    DECLARE @MATABLE TABLE
    (
    	MAVALEUR CHAR(7)
    )
     
    INSERT INTO @MATABLE (MAVALEUR)
              SELECT 'VALEURA'
    UNION ALL SELECT 'VALEURB'
    UNION ALL SELECT 'VALEURC'
     
    SELECT * FROM @MATABLE
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

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

Discussions similaires

  1. [MySQL] Insert table et variables
    Par squaw dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 17/01/2007, 13h55
  2. [VB.net] Comparer valeurs d'une table à une variable
    Par collaud_vb dans le forum Windows Forms
    Réponses: 4
    Dernier message: 19/09/2006, 15h24
  3. modifier déclaration de table
    Par jessy212 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/09/2006, 15h06
  4. Possibilité de passer le nom d’une table en variable ??
    Par nicolas310380 dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 21/02/2006, 14h12
  5. create table avec variable!
    Par JauB dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 30/01/2006, 09h48

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