oracle过程的一个问题

lizhongyi188 2011-08-19 09:16:03
在过程里面有一个同步的处理,从a表将数据同步到b表
问题:怎么控制循环一次间隔时间为1秒,每秒同步20条数据?
...全文
126 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lizhongyi188 2011-08-23
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 jym2002 的回复:]

引用 7 楼 lizhongyi188 的回复:
引用 2 楼 java3344520 的回复:

循环一次间隔时间为1秒
ORACLE 采用SYS.DBMS_LOCK的包,说明
procedure sleep(seconds in number);
-- Suspend the session for the specified period of time.
-- Input ……
[/Quote]
这个可以肯定的是在一秒里。如果一秒处理不了。就等待吧..
iwfieff 2011-08-20
  • 打赏
  • 举报
回复
顶,,,高手赶紧给楼主解决一下问题,解决完后顺便帮我们讲讲Oracle开发培训课,有讲课费的哦,日薪800-1500元,Q我:QQ174629429,ciitc.com
Kobayashi 2011-08-19
  • 打赏
  • 举报
回复
没有搞过。。帮顶。
lizhongyi188 2011-08-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yangqm22 的回复:]

同步肯定有条件,选定20条没有问题吧。
在同步前计算时间,同步完成后又计算时间,然后用1秒减,exec dbms_lock.sleep
然后进行下一次循环。
[/Quote]

这个好像可以解决..试试..
lizhongyi188 2011-08-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 java3344520 的回复:]

循环一次间隔时间为1秒
ORACLE 采用SYS.DBMS_LOCK的包,说明
procedure sleep(seconds in number);
-- Suspend the session for the specified period of time.
-- Input parameters:
-- seconds
-- In se……
[/Quote]
这个是使线程休眠多少时间。而不能控制我一个循环一次只能是一秒,从实际的问题出发,一秒钟往另外一个表中插入的时间可能只需要100毫秒,那么我需要等待900毫秒再进行下一次循环,如果一个循环一次处理数据的时间大于一秒的话这个不考虑。
lizhongyi188 2011-08-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 java3344520 的回复:]

循环一次间隔时间为1秒
ORACLE 采用SYS.DBMS_LOCK的包,说明
procedure sleep(seconds in number);
-- Suspend the session for the specified period of time.
-- Input parameters:
-- seconds
-- In se……
[/Quote]

这个我先看看.
luoshanghai 2011-08-19
  • 打赏
  • 举报
回复
1年没上过CSDN了 ,对日就是降低技术含量啊
luoshanghai 2011-08-19
  • 打赏
  • 举报
回复
路过 , 关注此贴, 希望能受益匪浅
yangqm22 2011-08-19
  • 打赏
  • 举报
回复
同步肯定有条件,选定20条没有问题吧。
在同步前计算时间,同步完成后又计算时间,然后用1秒减,exec dbms_lock.sleep
然后进行下一次循环。
iqlife 2011-08-19
  • 打赏
  • 举报
回复
循环一次间隔时间为1秒
ORACLE 采用SYS.DBMS_LOCK的包,说明
procedure sleep(seconds in number);
-- Suspend the session for the specified period of time.
-- Input parameters:
-- seconds
-- In seconds, currently the maximum resolution is in hundreths of
-- a second (e.g., 1.00, 1.01, .99 are all legal and distinct values).
jym2002 2011-08-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 lizhongyi188 的回复:]
引用 2 楼 java3344520 的回复:

循环一次间隔时间为1秒
ORACLE 采用SYS.DBMS_LOCK的包,说明
procedure sleep(seconds in number);
-- Suspend the session for the specified period of time.
-- Input parameters:
-- seconds
--……
[/Quote]
汗,我觉得你说的“如果一个循环一次处理数据的时间大于一秒的话这个不考虑。” 恰恰是必须考虑的
luoyoumou 2011-08-19
  • 打赏
  • 举报
回复
-- 为什么要这样做?
xiaoyu871225 2011-08-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 java3344520 的回复:]
循环一次间隔时间为1秒
ORACLE 采用SYS.DBMS_LOCK的包,说明
procedure sleep(seconds in number);
-- Suspend the session for the specified period of time.
-- Input parameters:
-- seconds
-- In seconds, curr……
[/Quote]
这个研究下

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧