title: How to get exact updated column name in oracle trigger?
body: <p>I'm going to create a trigger to audit a table. Suppose my table define as below.</p>
  
  <pre><code>COUNTRY_ID   NOT NULL CHAR(2)      
  COUNTRY_NAME          VARCHAR2(40) 
  REGION_ID             NUMBER
  </code></pre>
  
  <p>and my log table created as below.</p>
  
  <pre><code>create table country_log(
    username varchar2(10),
    transaction_date date,
    new_value varchar(20),
    old_value varchar(20)
  )
  </code></pre>
  
  <p>My half completed trigger would be like below.</p>
  
  <pre><code>CREATE OR REPLACE TRIGGER tr_countryTable
  AFTER UPDATE ON COUNTRIES
  FOR EACH ROW
  BEGIN
    insert into country_log (username,transaction_date,new_value,old_value ) values (USER, sysdate,**:New, :Old** );
  END;
  /
  </code></pre>
  
  <p>I need to know instead of comparing each column value in :old and :new, how to get exactly updated column's new and old values.</p>