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 :

Création rapide de table Sql Server


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 400
    Points : 46
    Points
    46
    Par défaut Création rapide de table Sql Server
    Bonjour,
    Je crée facilement une nouvelle table existante à partir d'une table ancienne (Table Existante) avec 100 000 lignes
    avec la commande suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * into Nouvelle_Table
    from Table_Existante

    J'obtiens donc une nouvelle table avec la structure + 100 000 lignes de données de l'ancienne Table

    ==>> Mais j'aimerai créer ma nouvelle table avec 10 lignes au lieu des 100 000 lignes de données

    J'ai utilisé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT * into Nouvelle_Table
      from (select top 10 * from Table_Existante)
    Mais ça ne marche pas, pourriez-vous m'indique ou je me trompe ?

    Merci pour votre aide

  2. #2
    Membre habitué

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2017
    Messages : 8
    Points : 162
    Points
    162
    Par défaut
    Bonjour kadden,

    Essaye le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * into Nouvelle_Table
      from (select top 10 * from Table_Existante) aliasTalble
    Ajoute juste un alias pour la sous requete qui renvoie les 10 premiers enregistrement.

    V/r

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 763
    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 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    Et pourquoi pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TOP (10) * 
    into Nouvelle_Table
    from Table_Existante
    ???
    C'est plus simple !!!

    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/ * * * * *

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 400
    Points : 46
    Points
    46
    Par défaut
    Oui ça marche avec l'alias, mais effectivement ça reste plus simple avec le code au-dessus

    Par contre la Nouvelle_Table n'hérite pas les clés de la Table_Existante
    (j'ai la structure et les données mais pas les clés)
    c'est normal ?

    Merci

  5. #5
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 152
    Points : 7 402
    Points
    7 402
    Billets dans le blog
    1
    Par défaut
    Ni même la clé primaire, ni les index, ni les contraintes, ni les triggers, les colonnes calculées sont transformées en colonnes valuées, etc.

    Oui, c'est normal.

    Cette commande enregistre le jeu de résultat de la requête dans une table, c'est en aucun cas une copie de la table source.
    Le SELECT ... INTO matable peut aussi bien porter sur plusieurs tables, des vues, des fonctions tables, des tables temporaires, des variables tables... Donc normal que la structure (qui est à ce moment impossible à connaître) n'est pas recopiée.
    On ne jouit bien que de ce qu’on partage.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 400
    Points : 46
    Points
    46
    Par défaut
    Merci pour votre retour

    y'a t-il donc un moyen pour recopier la structure d'une table dans une autre ?

    débutant en sql

  7. #7
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 152
    Points : 7 402
    Points
    7 402
    Billets dans le blog
    1
    Par défaut
    Dans management studio, on peut générer un script de création de n'importe quelle table.

    Il suffit alors de la renommer avant de lancer le script.
    On ne jouit bien que de ce qu’on partage.

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