主要目的:监听一个表字段的修改监听判断语句的写法:
IF :NEW.service_id<>:OLD.service_id
THEN
……问题:如果对所监听字段的修改出现这种情况:由某一具体值改为一个空值或者由一个空值改为某一个具体的值,这个判断语句将不能正常工作,因为系统对NULL理解为unknow。请问这个判断语句怎么写比较合适?谢谢!

解决方案 »

  1.   

    没想到这莫快,多谢这位兄弟的帮忙,还有点问题:
    如果用NVL(:NEW.service_id,'a')<>NVL(:OLD.service_id,'a'),后面就必须有一个替换的值,这样就很有可能假如旧值为空,新值为与你替换的那个值相同的情况,例如那上面的那个来说,旧值为空,新值为a,这样的话判断就不是很严密。
    请问还有什么方法,或者说这种方法应该如何改进?
    谢谢!
      

  2.   

    IF ((:OLD.service_id is not null and :NEW.service_id is null) or (:OLD.service_id is  null and :NEW.service_id is not null))