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 :

create table sql server


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 112
    Par défaut create table sql server
    bonjour,

    j'aimerais construire des tables dont les noms, les champs ainsi que les valeurs par defaut sont dans une table INT_MAJ
    pourriez vous me donner un apercu de methode pour faire cela sur ms sql server
    est il possible de construire une procedure exec qui permet de rendre ca transparent

    merci a vous par avance

  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
    une simple requête dynaimque suffit.

    Imaginons que votre table INT_MAJ soit de structure suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    COL_NAME sysnam,
    COL_DATA VARCHAR(64),
    COL_DEFAULT VARCHAR(128),
    COL_NOTNULL BIT
    Alors la requête suivante créé la table exprimée par les valeurs de INT_MAJ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    DECLARE @SQL VARCHAR(8000);
    SET @SQL = 'CREATE TABLE T1 (';
    SELECT @SQL = @SQL + COL_NAME + ' ' + COL_DATA 
           + CASE 
                WHEN COL_DEFAULT IS NULL THEN ' '
                ELSE ' DEFAULT ' + COL_DEFAULT + ' '
             END
           + CASE 
                WHEN COL_NOTNULL = 1 THEN ' NOT NULL,'
                ELSE ' NULL,'
             END
    FROM   INT_MAJ;
    SET @SQL = @SQL + ')'
    EXEC (@SQL);
    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
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 112
    Par défaut
    je te remercie beaucoup pour ton coup de pouce
    mais le nom des tables a creer est dans INT_MAJ par le champ nom_table
    le nim des champ par le champ nom_champ il faut parcourir INT_MAJ avec un curseur chaque ligne represente un champ d'une table

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 112
    Par défaut
    voila j'ai fait ceci mais j'ai une erreur qui me dit
    Could not find stored procedure 'create table .....'
    a quoi cela est du ?
    merci encore

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 112
    Par défaut
    alors que le print @sql marche

Discussions similaires

  1. Create Table SQL Server 2005
    Par raoufcherbri dans le forum ASP.NET
    Réponses: 1
    Dernier message: 01/04/2009, 21h32
  2. fonction sortant une table SQL server
    Par Lolomenfin dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/12/2006, 10h32
  3. lier une table Sql Server sur Access
    Par JerBi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/01/2006, 16h27
  4. Insertion dans table SQL server (Trigger) Aidz moi SVP????
    Par pop bob dans le forum Développement
    Réponses: 2
    Dernier message: 30/07/2005, 23h55
  5. [C#] Récupération d'une image depuis une table SQL Server
    Par borgfabr dans le forum Accès aux données
    Réponses: 10
    Dernier message: 08/04/2004, 13h20

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