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

Langage SQL Discussion :

[Access] Créer une table avec la structure et les données d'une autre


Sujet :

Langage SQL

  1. #1
    Membre averti Avatar de jmulans
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 397
    Points : 383
    Points
    383
    Par défaut [Access] Créer une table avec la structure et les données d'une autre
    Bonjour,

    je voudrais creer une table ayant la meme structure qu'une autre table
    et en y ajoutant certaines données (pas toutes)
    pour le moment je fait ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select * into Table_Destination
    From Table_Source
    Where nom = 'machin'
    mais ça ne me copie que la structure de la table

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Je ne connais pas cette syntaxe, elle doit probablement être propre à votre SGBD.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE MaCopie
    AS
    SELECT ...
    FROM MaTableSource
    [ ... ]

  3. #3
    Membre averti Avatar de jmulans
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 397
    Points : 383
    Points
    383
    Par défaut
    j'ai essayé comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CREATE TABLE Table_destination AS
    SELECT * FROM Table_source
    mais ça me dit erreur de syntaxe

    (je suis sous access)

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Je ne veux pas rentrer dans un débat mais Access est merd*** et en particulier selon la version, il diffère vraiment de la norme SQL.
    Essayez de modifier votre requête afin de ne pas avoir SELECT * mais la liste des colonnes SELECT MaCol1, MaCol2, ...

  5. #5
    Membre averti Avatar de jmulans
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 397
    Points : 383
    Points
    383
    Par défaut
    oui je sais que c'est pas terrible, mais bon j'ai pas eu le choix ^^

    d'habitude je fait des select * et ça fonctionne bien
    là j'ai une table avec au moins 20 champs donc ça m'embete un peu de tout recopier
    enfin je j'essaierais, mais ça m'etonnerais que ça soit ça

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    La requête que je vous ai donné est la seule que je connaisse pour effectuer ce genre de manipulation :
    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
    10g SOC5> CREATE TABLE DVP(LN NUMBER);
     
    Table créée.
     
    10g SOC5> INSERT INTO DVP VALUES (12);
     
    1 ligne créée.
     
    10g SOC5> INSERT INTO DVP VALUES (120);
     
    1 ligne créée.
     
    10g SOC5> INSERT INTO DVP VALUES (1200);
     
    1 ligne créée.
     
    10g SOC5> INSERT INTO DVP VALUES (12000);
     
    1 ligne créée.
     
    10g SOC5> INSERT INTO DVP VALUES (120000);
     
    1 ligne créée.
     
    10g SOC5> INSERT INTO DVP VALUES (1200000);
     
    1 ligne créée.
     
    10g SOC5> 
    10g SOC5> CREATE TABLE COPIE
      2  AS
      3  SELECT *
      4  FROM   DVP;
     
    Table créée.
     
    10g SOC5> 
    10g SOC5> SELECT *
      2  FROM   COPIE;
     
            LN
    ----------
            12
           120
          1200
         12000
        120000
       1200000
     
    6 ligne(s) sélectionnée(s).
    Si la subtilité d'Access ne réside pas dans l'énumération complète des colonnes alors faîtes-moi signe pour que je déplace votre discussion dans le forum Access car votre réponse devrait être spécifique.

  7. #7
    Membre averti Avatar de jmulans
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 397
    Points : 383
    Points
    383
    Par défaut
    j'ai essayé avec une table plus petite en enumerant les champs, ça ne marche toujours pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur de syntaxe dans l'instruction CREATE TABLE

  8. #8
    Membre averti Avatar de jmulans
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 397
    Points : 383
    Points
    383
    Par défaut
    j'ai trouvé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT table_source.* INTO table_dest FROM table_source
    Where numero >= 10000
    ça fonctionne bien

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/05/2014, 13h12
  2. [2005] Extraire la structure et les données d'une table
    Par vg-matrix dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 14/06/2013, 10h21
  3. [MySQL] afficher les données d'une table avec foreatch
    Par alfred5 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 09/10/2010, 22h35
  4. Permutter les donnée dans une table avec Kettle
    Par imanoual dans le forum kettle/PDI
    Réponses: 4
    Dernier message: 16/09/2008, 16h56
  5. Ecraser les données d'une table avec la commande bcp
    Par créolie dans le forum Outils
    Réponses: 2
    Dernier message: 13/08/2008, 15h06

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