MAJ deux tables sous oracle

dev_man Messages postés 90 Date d'inscription   Statut Membre Dernière intervention   -  
DROE Messages postés 148 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai deux table et je voudrais faire la mise à jour sur deux colonnes sur deux table en un seul coup, est-il possible sous oracle 10g.

merci et bonne journée.

2 réponses

  1. DROE Messages postés 148 Date d'inscription   Statut Membre Dernière intervention   48
     
    Hello,

    tu peux utiliser un
    Trigger After Update
    sur la table A qui déclenchera la mise à jour sur la Table B par exemple.

    DROE
    0
  2. A.Nonymous
     
    UPDATE table1
    INNER JOIN table2 ON table1.champA = table2.champB
    SET
    table1.champC = '6',
    table2.champD = '66'
    0
    1. jee pee Messages postés 31884 Date d'inscription   Statut Modérateur Dernière intervention   9 979
       
      Salut,

      Je pense que cette syntaxe n'existe pas sur oracle.

      Par ailleurs le trigger after update a lui des limites. On ne peut utiliser que des valeurs (anciennes ou nouvelles) présentes dans la table A.

      cdlt
      0
    2. DROE Messages postés 148 Date d'inscription   Statut Membre Dernière intervention   48
       
      avec les :NEW tu peux faire un

      update table B set col1=:NEWxxxxx, col2 =:NEWxxxx
      where col3=:NEWxxxxxx

      je me trompe?

      droe
      0
    3. jee pee Messages postés 31884 Date d'inscription   Statut Modérateur Dernière intervention   9 979
       
      Oui mais il faut prendre des valeurs déjà présentes dans la table A (:new ou :old). On ne peut pas avoir une valeur comme dans l'exemple avec inner join :

      table1.champC = '6',
      table2.champD = '66'
      0
    4. DROE Messages postés 148 Date d'inscription   Statut Membre Dernière intervention   48
       
      oui oui, si la demande est de faire une mise à jour sur deux colonnes sur deux tables en un seul coup avec des valeurs différentes effectivement.
      0