ORACLE的存储过程如何能在规定时间内结束?(100分)

  • 主题发起人 主题发起人 guqs
  • 开始时间 开始时间
G

guqs

Unregistered / Unconfirmed
GUEST, unregistred user!
我的一个存储过程,我想让它在30秒内必须返回,如果没有处理完,就rollback(也是30秒内)。
但现在的只能完全执行完了(也许花了3000秒)才会返回。
也就是说我想30秒内就得到成功、或失败(超时)的结果。
在oracle中有没有办法做到?

 
据我所知
不可能 [:)]
 
关注一下。
 
使用
select sysdate from dual获得时间
比较时间是否>10退出
 
你在做事务的时候,能做其他事吗?要是store procedure 能支持线程就可以了
但是。。。。。。。

你还是程序控制吧,超过就kill 这个session 算了!

 
you might try dbms_alert to send message to package procedure
package procedure should check the alert interval. and send the alert
back to application.
it is the way to implement Oracle event
 
oci_break 就不关存储过程的事了,这跟你在客户端计时,到了一定时间强制退出程序没什么
差别。 :) 楼主说的可是在存储过程中实现。
不过, 这也不失为一个变通的办法,但oci_break也不是执行了就立即能返回的。
 
yyanghhong说的没有错!!
就是这样做的!!

oracle有很多系统包,很有用!!!
www.oradb.net
 
后退
顶部