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

PL/SQL Oracle Discussion :

ajouter et remplir un champs dans une table déjà remplie


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 109
    Par défaut ajouter et remplir un champs dans une table déjà remplie
    Bonjour tout le monde,
    j'ai un problème dans une table déjà rempli par les données. j'ai

    ajouté un champs qui est vide.
    voila mes deux tables de test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    create table table1 (id_tab1 number, tab1 varchar2(10),ref_tab1 
     
    varchar2(10),ref_tab2 varchar2(10),id_tab2 number);
    insert into table1 values (1,'A1','B1','C1','');
    insert into table1 values (2,'A2','B2','C2','');
    insert into table1 values (3,'A3','B3','C3','');
     
     
    create table table2 (id_tab2 number, tab2 varchar2(10),ref_tab2 
     
    varchar2(10));
    insert into table2 values (1,'D1','C1');
    insert into table2 values (2,'D2','C2');
    insert into table2 values (3,'D3','C3');
    Maintenant je veux remplir le champs id_tab2 de la table table1 tel que

    ref_tab2 de table table1= ref_tab2 de la table table2

    et merci pour vos réponses.

  2. #2
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 28
    Par défaut
    un trigger peut faire l'affaire.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 331
    Par défaut
    Si j'ai bien compris ton besoin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE table1 SET table1.id_tab2 = (SELECT table2.id_tab2 FROM table2 WHERE table1.id_tab1 = table2.id_tab2);
    Attention, tu risques d'avoir l'erreur ORA-1427 si la requête SELECT retourne plus d'une ligne à la fois.

    Rachid A.

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 109
    Par défaut
    Merci beaucoup pour vos reponse.
    Mais mon probleme c'est que les deux tables sont deja rempli. je veux faire juste un update du champs id_tab2 de la table1. tel que la condition deja expliqué en haut.
    pour le trigger j'ai pas une idée claire comment puis je faire.
    et pour la seconde reponse le resultat retourne plusieurs données alors je peux pas l'appliquer.

    merci,

  5. #5
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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 454
    Par défaut
    Citation Envoyé par brajae85 Voir le message
    et pour la seconde reponse le resultat retourne plusieurs données alors je peux pas l'appliquer.
    Dans ce cas penchez-vous sur vos données et la règle de gestion à appliquer, car celle que vous avez énoncé n'est pas suffisante.

    Comment souhaitez-vous gérer le cas suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    INSERT INTO table1 VALUES (1,'A1','B1','C1','');
    INSERT INTO table1 VALUES (2,'A2','B2','C2','');
    INSERT INTO table1 VALUES (3,'A3','B3','C3','');
     
    INSERT INTO table2 VALUES (1,'D1','C1');
    INSERT INTO table2 VALUES (2,'D2','C2');
    INSERT INTO table2 VALUES (3,'D3','C2');

  6. #6
    Membre expérimenté 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
    Par défaut
    tu dois nous expliquer un peu pour ton deuxième point.

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/05/2007, 07h43
  2. [MS SQL]Ajouter et visionner des champs dans une table
    Par 5a573 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 27/10/2006, 16h10
  3. ajouter un champ dans une table existant
    Par zidenne dans le forum Bases de données
    Réponses: 3
    Dernier message: 29/10/2005, 21h27
  4. Ajouter des CHAMPS dans une table via ASP
    Par hysteresis dans le forum Access
    Réponses: 1
    Dernier message: 27/09/2005, 15h39
  5. Ajouter un champs dans une table (Access 2000)
    Par Didier100 dans le forum Bases de données
    Réponses: 2
    Dernier message: 12/10/2004, 13h02

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