well, this is an old post and you probably have figured it out already, but for kicks here is one way to do it.
-- my test table (column Z is the 'irrelevant' column)
SQL> create table wuh (x number, y number, z number);
SQL> insert into wuh values (0, 1, 2);
1 row created.
-- the trigger:
SQL> create or replace trigger blahtrg before update on wuh for each row
3 real_change number := 0;
5 for colnames in (select column_name
6 from user_tab_columns
7 where table_name = 'WUH'
8 and column_name != 'Z')
10 if updating(colnames.column_name) then
11 real_change := 1;
13 end if;
14 end loop;
15 if real_change = 1 then
16 dbms_output.put_line('there was a real change');
18 dbms_output.put_line('only Z was updated.');
19 end if;
-- test it:
SQL> set serveroutput on
SQL> update wuh set y = 0 where x = 0;
there was a real change
1 row updated.
SQL> update wuh set z = 0 where x = 0;
only Z was updated.