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 :

Construire une requête dynamique de création de table à partir de métadata


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 19
    Par défaut Construire une requête dynamique de création de table à partir de métadata
    Bonjour,

    Je suis débutant dans le TSQL, quelqu'un peux-t-il m'aider.
    Voici ce que je veux faire:

    J'ai 2 tables de métadata (dans la table chr_table_fields) contenant ces colonnes:



    TABNAME FIELDNAME POSITION KEYFLAG NOTNULL DATATYPE LENG DECIMALS
    ADRP CLIENT 1 X X VARCHAR 3 0
    ADRP PERSNUMBER 2 X X VARCHAR 10 0
    ADRP DATE 3 DATE 8 0
    ADRP TITLE 4 VARCHAR 4 0
    ADRC CLI 1 X X VARCHAR 3 0Nom : Capture.PNG
Affichages : 331
Taille : 12,9 Ko
    ADRC PERS 2 X X VARCHAR 10 0
    ADRC DATE 3 DATE 8 0
    ADRC TITLE 4 VARCHAR 4 0

    Je souhaiterais créer une requête dynamique qui me permettrais de créer la procédure de création de table pour les 2 tables:
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    CREATE PROCEDURE [dbo].[ctb_adrp]
    AS
    BEGIN
    SET NOCOUNT ON;
     
     
    CREATE TABLE [dbo].[adrp]
    (
    	  [client] VARCHAR(3) NOT NULL
    	, [persnumber] VARCHAR(10) NOT NULL
    	, [date] DATE NULL
    	, [title] VARCHAR(4) NULL
    )
    on primary
     
    END 
    GO
    CREATE PROCEDURE [dbo].[apk_adrp]
    AS
    BEGIN
    SET NOCOUNT ON;
    ALTER TABLE [dbo].[adrp] ADD CONSTRAINT [PK_adrp] PRIMARY KEY CLUSTERED ([client] ASC, [persnumber] ASC)
    ON primary
     
    END 
    GO
    CREATE PROCEDURE [dbo].[ctb_adrc]
    AS
    BEGIN
    SET NOCOUNT ON;
     
     
    CREATE TABLE [dbo].[adrc]
    (
    	  [cli] VARCHAR(3) NOT NULL
    	, [pers] VARCHAR(10) NOT NULL
    	, [date] DATE NULL
    	, [title] VARCHAR(4) NULL
    )
    on primary
     
    END 
    GO
    CREATE PROCEDURE [dbo].[apk_adrc]
    AS
    BEGIN
    SET NOCOUNT ON;
    ALTER TABLE [dbo].[adrc] ADD CONSTRAINT [PK_adrc] PRIMARY KEY CLUSTERED ([clic] ASC, [persc] ASC)
    ON primary
     
    END
    Merci de votre aide.

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Billets dans le blog
    8
    Par défaut
    Vous pouvez, pour cela, utiliser le SQL dynamique au travers la procédure stockée système sp_executesql.

    Exemple
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DECLARE @SqlStmt NVARCHAR(4000);
    SET @SqlStmt = N'CREATE TABLE dbo.ADRP  ... ' ;
    EXEC sp_executesql @SqlStmt;
    Pour plus d'info :
    https://technet.microsoft.com/fr-fr/...=sql.105).aspx

    A+

Discussions similaires

  1. Création de table à partir d'une requête
    Par petindiaye dans le forum Administration
    Réponses: 5
    Dernier message: 06/08/2014, 14h26
  2. Réponses: 7
    Dernier message: 10/03/2014, 14h19
  3. Construire une requête dynamiquement
    Par gabdeschenes dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 14/01/2010, 00h09
  4. Réponses: 1
    Dernier message: 07/12/2009, 09h25
  5. Création d'une requête dynamique
    Par chris81 dans le forum Linq
    Réponses: 0
    Dernier message: 14/01/2009, 17h33

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