一个银行触发器Oracle
我写了一个简单的触发器,在编译的时候没有错.但是在执行的时候出现了错误. 
 哪位高手可以帮帮我呀? 
 set   serveroutput   on; 
 create   or   replace   trigger   over1_trigger 
 	after   update   on   account 
 	for   each   row   when   (new.balance <0) 
 begin 
 	insert   into   loan(loan_number,branch_name,amount)   values 
 		(:new.account_number,:new.branch_name,-:new.balance); 
 	update   account   set   balance=0   where   account_number=:new.balance; 
 end   over1_trigger; 
 /     
 出现的错误是: 
 表   BANK.ACCOUNT   发生了变化,触发器/函数不能读 
 在 "BANK.OVER1_TRIGGER ",   line   4 
 触发器    'BANK.OVER1_TRIGGER '   执行过程中出错     
 谢谢!!
------解决方案--------------------trigger不能操作本表。用自治事务就可以。
------解决方案--------------------这个是基于自身表的trigger的变异表问题 
 metalink上解释如下:   
 对于after 类型的 for each row 级别的triggers,都不允许在 trigger 中访问本trigger所依赖的table,