触发器没有运行【TRIGER CAN'T RUN】

    日志信息出现!
    这是今早我对南京同事们的说的一句话。
    不容易,折腾了一天终于搞定了。
    为了和移动BOSS快速同步相关数据,写了一套数据库后台处理的程序。
    1.包(PACKAGE)处理的整个过程都在该包中。
    2.触发器(TRIGER)在某张状态表,对于特定的操作码(某个字段出现特殊值)出现后即开始操作。
    程序写好后,跑了一晚,没有什么问题。第二天因为业务变化,重新进行了多次的修改。到完成修改完成后,让程序运行。但整整一晚没有任何日志记录(如果操作了就写条操作日志到另外一张日志表中)。全部的数据库对象(不管相关的还是不相关的)都没有失效的(INVALID)!但是带有特定操作码的数据在不断的进入呀?
     检查了N遍程序,DEBUG多次,正常!
     所有的相关包、触发器等全部重新编译(recompile),依然没有用!
     。。。。。。
     通知南京同事,停掉相关处理进程。我将包、触发器全部删除(DROP),然后重新创建包、创建触发器。通知南京同事,启动前台应用。。。。
     (现在请看本文第一句话 -:))
     NOTE:
     如果触发器中使用包(这当然是非常好的),在相关对象,甚至本身发生变化时(如相关的表,序列等等),需要首先确认包和触发器没有失效。如果没有失效,但程序仍无法运行,就需要删除并重新创建了!
     不知道这是否是ORACLE的BUG?
    ---------
    环境说明:
    HP-UX:B.11.23 U ia64
    ORACLE:10.2.01
   
    
  

你可能感兴趣的:(oracle,触发器,包,休闲,triger)