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

Oracle Discussion :

Ajout de colonne à une table pré-existence et insertion donnée pour la colonne


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 16
    Points : 11
    Points
    11
    Par défaut Ajout de colonne à une table pré-existence et insertion donnée pour la colonne
    J'ai une table APPELS qui dispose de 4 colonnes (Appelé, Appelant, Durée, Route) à laquelle j'ai ajouté une colonne OrigineAppel.

    Comment ajouter des infos à cette colonne sur celles qui existaient préalablement?

    In extenso, un enregistrement qui avant se présentait comme suit:

    2439925652, 2439960245, 50,DJAMO

    doit devenir

    2439925652, 2439960245, 50,DJAMO,KINSHASA.


    Merci de la réactions

  2. #2
    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
    1/ Tu crées ta colonne sur ta table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE ADD OrigineAppel VARCHAR2(200);
    2/ Tu fais un UPDATE pour mettre à jour
    3/ Si la colonne doit être NOT NULL, tu le fais à la fin.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE MODIFY OrigineAppel NOT NULL
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    Ce n'est pas là mon souci.

    Mon problème c'est comment récupérer les anciennes données et y ajouter celles relatives à la nouvelle colonne.

    J'ai besoin des requêtes qui permettent après ajout de la colonne d'y insérer les informations requises et qui entrent dans l'enregistrement qu'il faut

  4. #4
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 88
    Points : 95
    Points
    95
    Par défaut
    Citation Envoyé par nkongolo.m
    Mon problème c'est comment récupérer les anciennes données et y ajouter celles relatives à la nouvelle colonne.
    Les anciennes données sont intouchées par l'ajout de colonne. Seule la nouvelle colonne sera vide.

    J'ai besoin des requêtes qui permettent après ajout de la colonne d'y insérer les informations requises et qui entrent dans l'enregistrement qu'il faut
    Un UPDATE suffira si tu as déjà les infos à ajouter quelque part dans la base et que tu peux déduire l'information à ajouter. sinon je ne voit pas comment tu peux faire ...

    @+,
    NicK.

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    Les update ne marchent pas.

    Voilà ce que j'ai fait sur T:

    update T
    set locappelant = daily_dv_region.locappelant
    where appelant = any(select appelant from daily_dv_region );

    mais l'erreur

    ORA-00904: "daily_dv_region"."REGION": invalid identifier

    apparaît.


    Daily_dv_region est la table d'où j'ai les informations sur la localité de l'appelant

  6. #6
    Nouveau membre du Club
    Inscrit en
    Novembre 2003
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 39
    Points : 37
    Points
    37
    Par défaut
    Il faudrait écrire plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    update T
    set locappelant = (select locappelant from from daily_dv_region
                              where T.appelant = daily_dv_region.appelant);
    (dans votre version, daily_dv_region.locappelant n'était pas connu car vous introduisez la table daily_dv_region une ligne plus bas).

Discussions similaires

  1. [SQL Server] syntaxe pour ajouter une colonne à une table
    Par gloglo dans le forum Langage SQL
    Réponses: 8
    Dernier message: 10/09/2009, 11h43
  2. Ajouter une colonne à une table à partir d'un formulaire
    Par turbo_sophie dans le forum VBA Access
    Réponses: 8
    Dernier message: 27/04/2009, 14h48
  3. Ajouter une colonne à une table dont le nom est variable
    Par Badtothebone93 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 23/04/2009, 17h32
  4. Réponses: 0
    Dernier message: 08/08/2007, 12h13
  5. [Recordset] Ajout d'une colonne à une table
    Par Maxi-môme dans le forum VBA Access
    Réponses: 2
    Dernier message: 18/07/2007, 15h18

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