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 :

[SQL SERVER2K] Passer Nom Table à SP


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2002
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 72
    Points : 59
    Points
    59
    Par défaut [SQL SERVER2K] Passer Nom Table à SP
    Bonjour,

    est-t'il possible de faire une procédure stockée qui utilise un nom de table passé en paramètre : but -> créer une table en dynamique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    CREATE PROCEDURE proc_creerModele  
    (
       @NOM_TABLE varchar(255)
    )
    AS
     
    CREATE TABLE [dbo].@NOM_TABLE (
    	[ID] [int] NOT NULL ,
    	[NOM] [varchar] (128) COLLATE French_CI_AS NOT NULL ,
    	[FICHIER] [varchar] (255) COLLATE French_CI_AS NOT NULL 
    ) ON [PRIMARY]
    GO
    ça ne passe pas auniveau du CREATE!!

    Merci.

    VO

  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 878
    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 878
    Points : 53 055
    Points
    53 055
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    un nom de table n'est pas un paramètre d'une requête. Un paramètre d'une requête ne peut être qu'une valeur attendue dans :
    - une expression de filtrage
    - une fonction SQL

    Si vous voulez utiliser un nom de table en tant que variable il faut passer par du SQL dynamique.
    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    CREATE PROCEDURE proc_creerModele  
    (
       @NOM_TABLE varchar(255)
    )
    AS
     
    DECLARE @SQL VARCHAR(8000)
     
    SET @SQL = 
    'CREATE TABLE [dbo].' + @NOM_TABLE +' ('
    + '	[ID] [int] NOT NULL ,'
    + '	[NOM] [varchar] (128) COLLATE French_CI_AS NOT NULL ,'
    + '	[FICHIER] [varchar] (255) COLLATE French_CI_AS NOT NULL '
    + ') ON [PRIMARY]'
     
    EXEC (@SQL)
    A +

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2002
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 72
    Points : 59
    Points
    59
    Par défaut [Résolu]
    Yes!

    Et ça ça marche? Super. C'est exactement ce que je veux faire.

    Merci.

    VO

Discussions similaires

  1. Requête SQL dynamique avec nom de table dans une variable
    Par jonjack dans le forum SQL Procédural
    Réponses: 9
    Dernier message: 15/09/2011, 14h37
  2. [MS SQL SERVER 2k5]nom de table dynamique dans un curseur
    Par patriceharel dans le forum Développement
    Réponses: 2
    Dernier message: 16/12/2008, 11h03
  3. Mots clé SQL utilisé pour nom de table etc.. Probleme de dump
    Par lailai dans le forum Administration
    Réponses: 3
    Dernier message: 23/01/2008, 16h02
  4. [SQL Server 2005]Trigger DDL -> Nom Table Modifiée
    Par Yotho dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/06/2007, 11h11
  5. [SQL] recherche de nom de table dans une BD
    Par benohit dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 15/09/2006, 14h54

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