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

SQL Oracle Discussion :

Modifier l'ordre des colonnes d'une table sous Oracle [11gR2]


Sujet :

SQL Oracle

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 169
    Points : 76
    Points
    76
    Par défaut Modifier l'ordre des colonnes d'une table sous Oracle
    Bonjour,

    je cherche la syntaxe exacte pour modifier l'ordre des colonnes ("col1", "col2", "col3")vd'une table "Tab" via l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter table tab modify col1 after col2
    .
    L'idée est de mettre par exemple par exemple la colonne 1 "col1" après la colonne 2 "col2" .
    La modification doit être permanente (donc je veux éviter le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select col 2 , col1 ...
    )

    Merci par avance

  2. #2
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Ce n'est possible qu'en recréant la table, ca il s'agit de l'ordre physique.
    Normalement, l'application ne devrait pas dépendre de l'ordre des colonnes dans la table.
    Cordialement,
    Franck.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  3. #3
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Si vous ne voulez / pouvez pas recréer votre table, vous pouvez procéder de la manière suivante :
    1. Renommer votre table
    2. Créer une vue avec l'ordre des colonnes qui vous plaît
    3. Créer un synonyme avec pour nom l'ancien nom de la table et qui pointe sur la vue.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 169
    Points : 76
    Points
    76
    Par défaut Modifier l'ordre des colonnes d'une table sous Oracle
    Merci de votre retour;
    je vais creuser la solution avec création d'une vue avec un synonyme.
    J'ai des index , des contraintes d'intégrité......dans la table (environ 1,5 million d'enregistrements ) dont je veux modifier l'ordre des colonnes.C'est pour cela que je cherchais absolument une solution de type .

  5. #5
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Par curiosité, pourquoi vouloir changer l'ordre des colonnes de cette table ?
    À moins que la table soit vraiment particulière, vous n'aurez aucun gain technique dans cette réalisation.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 169
    Points : 76
    Points
    76
    Par défaut
    la raison : suite à un restructuring de tout le schéma de la base , lié à une monté de version , certaines colonnes de tables dans une base ont été changées (ordre colonnes) .Et donc il faut tous remettre en ordre .

  7. #7
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par doudou8mc Voir le message
    la raison : suite à un restructuring de tout le schéma de la base , lié à une monté de version , certaines colonnes de tables dans une base ont été changées (ordre colonnes) .Et donc il faut tous remettre en ordre .
    Un peu de commenting sur votre problème: à moins que vous utilisiez des "SELECT * ", ce qui est justement déconseillé, l'ordre réel du colonning n'a pas d'incidence sur votre code SQL.
    Dans le cas contraire, je ne vois pas de nécessité à remettre en ordre quoi que ce soit.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 169
    Points : 76
    Points
    76
    Par défaut
    des équipes en Decisionnel utilisent ces tables via un ETL , et leurs requêtes sont préddéfinies de type . Ce n'est pas une bonne méthode oui , et c'est à moi de m'adapter .
    Bref , j'ai fini par opter pour des
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    create table as select col1,col2....
    .
    Merci pour tous vos retours.

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

Discussions similaires

  1. Modifier ordre des colonnes d'une table
    Par kabil.cpp dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 09/10/2009, 11h02
  2. Modifier l'intitulé des colonnes d'une table
    Par benbrisefer dans le forum SAS Base
    Réponses: 2
    Dernier message: 30/03/2009, 13h58
  3. Modifier la structure des colonnes d'une table
    Par alonsyl dans le forum Modélisation
    Réponses: 1
    Dernier message: 04/10/2008, 14h10
  4. script d'exportation des données d'une table sous oracle
    Par pierre2410 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/06/2007, 22h26
  5. Ordre des colonnes dans une table
    Par c.langlet dans le forum Administration
    Réponses: 3
    Dernier message: 16/05/2007, 18h39

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