Oracle 怎么监视某个表记录的更新 自动发邮件通知比如有一个event表 event(id,title,content),
每隔一分钟监视表中的记录.并将记录的字段具体内容(id,title,content)发邮件通知 请问这个存储过程怎么写?还要用JOB吧?

解决方案 »

  1.   

    发邮件方式来,可以1. 通过oracle发邮件
       a) trigger 事件驱动,一有更新马上发邮件。 不过性能问题也最大
       b) job 定时触发,按一定时间间隔,找到表更新的记录。 性能有优势,但是需要增强表设计,能够反映出数据变化2. 通过shell发邮件
       通过cron实现定时任务,通过sqlplus命令访问数据库,得到数据变化,发出邮件。  性能比上两个都有优势,不过需要了解shell命令,同样面临1.b的问题。
      

  2.   

    关注,以前看过这样的帖子,没有了使用过
    http://topic.csdn.net/t/20050529/21/4044334.html
      

  3.   


    1. 可以在trigger中将更改项纪录到临时表中, 然后在Job里扫描临时表,并发出邮件, 这样对原表的设计变动并不大
    2. 个人觉得并不是很有必要,除非涉及到Oracle和其他程序的接口问题, 比如: Crontab + sqlloader + sqlplus , 在这种情况下就非常必要了。