当先锋百科网

首页 1 2 3 4 5 6 7

斌斌 (给我写信) 原创博文(http://blog.csdn.net/binbinxyz),转载请注明出处

假设有这样一种情形:从数据库中获取一个五位号码作为当日业务的流水号(当日惟一)

于是设计了一张表用来存储当前号码:

create table TBL_TRADE_SN_INF
(
  SN NUMBER default 99999
)

添加存储过程pro_trade_sn_init用以初始化sn号码:

create or replace procedure pro_trade_sn_init is
begin
  update tbl_trade_sn_inf set sn=99999;
end pro_trade_sn_init;

添加定时器job_trade_sn用以每天调用存储过程对SN号码进行初始化:

begin
 dbms_job.submit(:job_trade_sn, 'pro_trade_sn_init;', sysdate, 'TRUNC(sysdate+1) + 1/24');
 --每天24小时,即每天凌晨一点钟运行一次
end;
/

启动该定时器:

begin
 dbms_job.run(:job_trade_sn);
end;
/

这样,每天凌晨一点的时候号码会自动初始化。

重要提示:本文纯粹只是为了记录存储过程、定时器的简单使用方式,如有其他设计不当请勿对比参考!

斌斌 (给我写信) 原创博文(http://blog.csdn.net/binbinxyz),转载请注明出处