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 :

Updater toutes les lignes d'une table à la fois?


Sujet :

SQL Oracle

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

    Informations forums :
    Inscription : Novembre 2009
    Messages : 145
    Points : 77
    Points
    77
    Par défaut Updater toutes les lignes d'une table à la fois?
    Bonjour à tous,

    J'en appelle à vos connaissances, voici mon problème:
    J'ai une table COMMUNE avec:
    COM_COD, COM_LIB, COM_INA
    97801, SAINT-MARTIN, N
    97701, SAINT-BARTHELEMY, N
    Je voudrais rajouter une colonne DPT_COD à la suite de COM_INA et dans cette nouvelle colonne il y aurait les 3 premiers chiffres du COM_COD.
    Soit 978 pour la premiere ligne, 977 pour la seconde etc...

    Comment faire cette moulinette?

    Aussi une autre question, lorsque je fais mon ALTER table pour rajouter la colonne DPT_COD Oracle me dit que la table doit être vide. Dois-je donc exporter mes données, ensuite supprimer les données, rajouter la colonne et réinsérer mes données? Ou y a une autre solution?

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 386
    Points
    18 386
    Par défaut
    C'est étrange cette dernière remarque, avec quelle version travaillez-vous ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 145
    Points : 77
    Points
    77
    Par défaut
    Comment faire pour connaitre la version? Il me semble que c'est de la 9 à confirmer!

  4. #4
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

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

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Ça sera mieux de rien ajouter dans la table en question et plutôt de créer une vue avec une colonne de plus de type SubStr(com_cod,1,3) As DPT_COD.

  5. #5
    Membre averti Avatar de mongilotti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2003
    Messages : 314
    Points : 303
    Points
    303
    Par défaut
    pour savoir la version, il suffit de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from v$version
    pour le ALTER ça dois pas demander le vidage des données, seulement si tu as essayé par erreur de modifier la taille d'une colonne qui existe déja?

  6. #6
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Comment faire cette moulinette?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE tatable
    SET DPT_COD = SUBSTR(TO_CHAR(com_cod), 1,3)
    Aussi une autre question, lorsque je fais mon ALTER table pour rajouter la colonne DPT_COD Oracle me dit que la table doit être vide.
    Quel est ton ordre sql ?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 145
    Points : 77
    Points
    77
    Par défaut
    Merci à tous pour vos réponses.
    La version est : Oracle9i Enterprise Edition Release 9.2.0.3.0 - 64bit Production

    Donc si je comprends bien en faisant un : UPDATE tatable
    SET DPT_COD = SUBSTR(TO_CHAR(com_cod), 1,3) ca va updater toutes les lignes car dans le UPDATE il n'y a pas de clause Where?

  8. #8
    Membre régulier
    Inscrit en
    Juillet 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 76
    Points : 81
    Points
    81
    Par défaut
    Citation Envoyé par Tonii Voir le message
    Merci à tous pour vos réponses.
    La version est : Oracle9i Enterprise Edition Release 9.2.0.3.0 - 64bit Production

    Donc si je comprends bien en faisant un : UPDATE tatable
    SET DPT_COD = SUBSTR(TO_CHAR(com_cod), 1,3) ca va updater toutes les lignes car dans le UPDATE il n'y a pas de clause Where?
    Ca va updater la colonne DPT_COD (si tu as réussi a la créer!) pour toutes tes lignes

  9. #9
    Membre averti Avatar de mongilotti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2003
    Messages : 314
    Points : 303
    Points
    303
    Par défaut
    oui, tu créer le champ d'abord ensuite tu exécute la commande.

Discussions similaires

  1. Mettre à jour toutes les lignes d'une table
    Par huzard dans le forum MySQL
    Réponses: 6
    Dernier message: 25/02/2015, 19h05
  2. [QtSql] Comment parcourir toutes les lignes d'une table ?
    Par ithryam dans le forum PyQt
    Réponses: 5
    Dernier message: 03/09/2011, 17h46
  3. Réponses: 3
    Dernier message: 28/04/2009, 00h42
  4. Supprime toutes les lignes d'une table fichier
    Par Loko dans le forum WinDev
    Réponses: 38
    Dernier message: 10/12/2007, 16h21
  5. Réponses: 4
    Dernier message: 11/10/2005, 15h03

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