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 :

copier la structure d'une table


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Par défaut copier la structure d'une table
    Bonjour,
    j'aime creer une table new_tab, ayant la structure d'une table old_tab, qui existe deja dans a base.
    Puis je veux extraire les données de old_tab pour les inserer dans new_tab.
    Sachant qu'il y a une solution qui consiste a créer et inserer en même temps;

    SELECT *
    into new_tab
    FROM old_tab;

    cela crée la table new_tab en copiyant integralement la structure et le contenue
    de old_tab.
    mais, désormé, ce n'est pas ça que je cherche.

    Merci d'avance,
    ----------------------------------------
    Dans la liberté de l'esprit réside sa beauté.
    PMS

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut
    Soyez plus clair : il me semble que le select into répond pourtant parfaitement à votre question
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Membre confirmé
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Par défaut
    Citation Envoyé par fadace
    Soyez plus clair : il me semble que le select into répond pourtant parfaitement à votre question

    Select into

    n'est utilisable que pour une nouvelles tables, c-a-d, elle permet pas d'ajouter des données issues de select à une base existante.

    Autrement dit,
    si j'ai une table existante qui s'appelle tab1, ayant la même structure que une autre table existante tab2.

    Je ne peux pas faire
    select *
    into tab1
    from tab2

    et c'est parce que tab1 existe deja.
    Donc il faut voir quelque chose comme

    insert into tab1 (select * from tab2) ???????

    je sais pas comment faire mais cette ligne ne marche pas...


    Merci,
    -----------------------------------------
    Dans la liberté de l'esprit, réside sa beauté.
    PMS

  4. #4
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Par défaut
    si la structure des tables est la même

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    insert into tab1 select * from tab2
    fonctionne.

    ATTENTION au cas ou tu aurait des champs spéciaux type IDENTITY, calculés.. où la cela ne fonctionne pas comme ca directement

  5. #5
    Membre confirmé
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Par défaut
    Citation Envoyé par serge0934
    si la structure des tables est la même

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    insert into tab1 select * from tab2
    fonctionne.

    ATTENTION au cas ou tu aurait des champs spéciaux type IDENTITY, calculés.. où la cela ne fonctionne pas comme ca directement

    Merci Serge, merci tout le monde,
    c'est impecable, ça marche nickel...

    Et ça reste la copie de la structure d'une table.
    c-a-d,
    creer une table ayant la même structure que l'aurtre....
    j'ai pensé à :

    select *
    into new_tab
    from old_tab
    delete from new_tab



    cela marche et donne bien c que j'ai besoin, mais c'est tres redicule de point de vue optimalité


    Merci encore
    ------------------------------------------------------
    "Pour ceux qui veulent ganger ensemble, la vie n'est pas
    le théatre du combat, mais un immence terrain d'entente"
    AE

  6. #6
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Par défaut
    select *
    into new_tab
    from old_tab
    delete from new_tab
    pour être plus Joli

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select *
    into new_tab
    from old_tab
    where 1=0
    ne fera que créer la table (sans données), tu n'aura pas a faire le delete derrière

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/10/2010, 14h05
  2. Copier la structure d'une table ?
    Par rimas2009 dans le forum SQL
    Réponses: 4
    Dernier message: 10/06/2010, 17h11
  3. Copier la structure d'une table Access
    Par jmulans dans le forum Delphi
    Réponses: 9
    Dernier message: 11/07/2007, 13h30
  4. copier la structure d'une table
    Par crazykangourou dans le forum Administration
    Réponses: 2
    Dernier message: 13/02/2007, 15h13
  5. [SQL SVR 2K]Copier la structure d'une table
    Par Franck2mars dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/07/2006, 11h59

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