title: Oracle: excluding updates of one column for firing a trigger
body: <p>In oracle I can specify the columns, which should induce a firing of a trigger:</p>
  
  <pre><code>create or replace trigger my_trigger
  before update of col1, col2, col3 on my_table for each row
  begin
    // the trigger code will be executed only if col1 or col2 or col3 was updated
  end;
  </code></pre>
  
  <p><em>Now I want to do the following: I don't want the trigger to fire, when <strong>only one</strong> column was updated. How is this possible?</em></p>
  
  <p>I could list all columns except the one, which should not induce a firing of the trigger. This is quite cumbersome for tables with many columns.</p>
  
  <p>Another way would be to use the UPDATING function like this:</p>
  
  <pre><code>if not updating('COL3') then ...
  </code></pre>
  
  <p>But if I changed COL1 <em>and</em> COL3 at once, the statement evaluates to false. That's not what I want since, I want to restrict the execution when <strong>only one</strong> column (COL3) was updated.</p>