title: Update Based on rowid in Oracle
body: <p>I want to update a table value using join in oracle(11g),
  I have used rowid as join parameter for same table, Is it safe to use rowid as a join parameter.
  Following is the query which i am using for updation, I have tested the same on local database it is working fine, but is there any scenario that there may be rowid mis-match?</p>
  
  <pre><code>MERGE 
  INTO    GEOTAG g 
  USING   (SELECT  g2.rowid AS rid, um.RETAILER_CODE
  FROM    GEOTAG g2 
  JOIN    RETAILER_AD_DSE b 
  ON      b.CODE = g2.RETAILER_CODE
  JOIN USER_HIERARCHY_MASTER um
  ON um.RETAILER_PRIMARY_ETOPUP = b.RETAILER_PRIMARY_ETOPUP) src 
  ON      (g.rowid = src.rid) 
  WHEN MATCHED THEN UPDATE 
  SET g.RETAILER_CODE = src.RETAILER_CODE;
  </code></pre>