title: ORA-01779 cannot modify a column which maps to a non key-preserved table
body: <p>I have a following <code>SELECT</code> query -</p>
  
  <pre><code>SELECT C.CASE_TITL_NM,RA.V_CUST_NUMBER
  FROM KDD_CASES C
  JOIN FCT_RA RA
  ON RA.N_RA_ID = C.RA_ID
  WHERE UPPER(C.CNTRY_KEY_ID) LIKE '%MANUAL%' 
  AND C.SCORE_CT IN (99,100)
  AND C.STATUS_CD = 'CCD'
  AND C.CASE_TITL_NM NOT LIKE 'MANUAL%'
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/Ahy52.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Ahy52.png" alt="Result of SELECT query"></a></p>
  
  <p>I need to update value in col <code>V_CUST_NUMBER</code> with value in col <code>CASE_TITL_NM</code> so I plugged my <code>SELECT</code> inside following <code>UPDATE</code>statement and ran it only to get ORA01779 -</p>
  
  <pre><code>    UPDATE (
      SELECT C.CASE_TITL_NM,RA.V_CUST_NUMBER
      FROM KDD_CASES C
      JOIN FCT_RA RA
      ON RA.N_RA_ID = C.RA_ID
      WHERE UPPER(C.CNTRY_KEY_ID) LIKE '%MANUAL%' 
      AND C.SCORE_CT IN (99,100)
      AND C.STATUS_CD = 'CCD'
      AND C.CASE_TITL_NM NOT LIKE 'MANUAL%'
      ) X
      SET X.V_CUST_NUMBER = X.CASE_TITL_NM;
  
  SQL Error: ORA-01779: cannot modify a column which maps to a non key-preserved table
  01779. 00000 -  "cannot modify a column which maps to a non key-preserved table"
  *Cause:    An attempt was made to insert or update columns of a join view which
             map to a non-key-preserved table.
  *Action:   Modify the underlying base tables directly.
  </code></pre>
  
  <p>Can anybody explain what does this error mean and what would be the right <code>UPDATE</code> query?</p>