高分急求oracle定时任务的问题
发布网友
发布时间:2022-04-19 16:54
我来回答
共6个回答
热心网友
时间:2022-04-08 22:15
1、job是否锁表应该根据你写代码(过程)有关;
2、你可以做一个任务表,当前一张表操作完成之后,写入一条处理任务,然后Job检查该任务表,此时,如果发现有指定的任务,就导入(需要注意的是,你可以对任务的状态进行定制,比如,如果表正在操作,那么任务的状态为1,此时job是不会导入的(如果job执行),当你写完之后,状态改成2,然后job如果执行,那么可以导入,导入之前将任务状态更改为3,此时表是不可以操作的(如果业务允许),操作完成之后可以该成0)上面只是简单这样说,估计你实际情况是必须可以在导入的同时可以写入,这样就需要看你的表是否有主键之类的,导入之前检查就可以了,你说的锁除非你是更新表(比如for update)才会发生追问模模糊糊 还是不太明白 我现在做的是订单的自动处理 目的是每过4个小时 自动执行一次任务,把订单表中处于预订的记录转为确认订购(修改一个字段) 就是怕在执行任务的中途新的订单不能正常插入
追答这个不用担心,Oracle本身的机制是保证的
热心网友
时间:2022-04-08 23:33
1、job运行的时候,如果有update 和 delete 操作,在没有commit 或者 rollback的时候,只会锁定update 和 delete 影响到得数据。
2、如果此时没有人对job处理到的数据进行 update 和 delete 处理就不会产生锁得问题。
3、上没的情况并不会影响 新数据的insert
4、考虑的有点多了,担心是多余的。
热心网友
时间:2022-04-09 01:08
这个可以用触发器机制,定时检索。。。语句有点复杂~而且这种触发器占用内存比较大。。可能不太实用。。。
热心网友
时间:2022-04-09 02:59
看你的追问,那么是不是只要更新**时间点之前的,处于预订的记录呢?
用SQL的条件过滤不行?
热心网友
时间:2022-04-09 05:07
正常解决
更新不影响新记录插入
热心网友
时间:2022-04-09 07:32
http://blog.csdn.net/li_guang/archive/2008/06/04/2510846.aspx追问谢谢 不过不符合我的问题