MAJ deux tables sous oracle

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. UPDATE table1
    INNER JOIN table2 ON table1.champA = table2.champB
    SET
    table1.champC = '6',
    table2.champD = '66'
    0
    1. Modérateur
      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. avec les :NEW tu peux faire un

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

      je me trompe?

      droe
      0
    3. Modérateur
      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. 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
  2. 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