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. 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
    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