No, you can't do that. You can use "IF UPDATING THEN ...." if you have a combined trigger (a single trigger for both insert and update for example) and want to perform different actions based on the type of your DML, but you can not use this to identify the columns that are actualy changed.
But you could write your code much more "readable" by using NVL, something like:
IF NVL(:new.col1,-1) <> NVL(:0ld.col1,-1) THEN do..1
ELSIF NVL(:new.col2,'#') <> NVL(:0ld.col1,'#') THEN do..2
...
I'm assuming col1 is of type NUMBER with only positive integers allowed and col2 of type VARCHAR2 that can never be set a value of '#'. So basicaly you should replace any null value with some imposible value of appropriate type.
Jurij Modic
ASCII a stupid question, get a stupid ANSI
24 hours in a day .... 24 beer in a case .... coincidence?