博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
定期重置数据库序列
阅读量:6432 次
发布时间:2019-06-23

本文共 1025 字,大约阅读时间需要 3 分钟。

//建立一个从0开始的序列

drop sequence seq_sss_id;

create sequence seq_sss_id
increment by 1
start with 0
minvalue 0 
maxvalue 999999999;

//重置序列的存储过程

create or replace procedure reset_jis_sequence as

n number(10);
tsql varchar2(100);
begin
execute immediate 'select seq_sss_id.nextval from dual' into n;
n:=-n;
tsql:='alter sequence seq_sss_id increment by '|| n;
execute immediate tsql;
execute immediate 'select seq_sss_id.nextval from dual' into n;
tsql:='alter sequence seq_sss_id increment by 1';
execute immediate tsql;
end reset_jis_sequence;

//job定时(每天0:00定时运行reset_jis_sequence 储存过程)

declare
job number;
begin
sys.dbms_job.submit(job => job,
what => 'reset_jis_sequence;',
next_date => to_date('21-04-2018', 'dd-mm-yyyy'),
interval => 'TRUNC( SYSDATE + 1)');
commit;
end;

//查询job的id

select job,what,failures,broken from user_jobs

//根据job的ID执行job

begin
dbms_job.run(jobId);
end;

//根据job的ID删除job

BEGIN

SYS.DBMS_JOB.REMOVE(jobId);

COMMIT;

END;

来源:,转载请注明作者或出处,尊重原创!恶意抄袭,一次警告,二次法律见!

转载于:https://www.cnblogs.com/johnnyC/p/9502439.html

你可能感兴趣的文章
【学习】java栈之 堆上分配和栈上分配
查看>>
安装wamp的方法及过程
查看>>
面向对象进阶
查看>>
OpenCV与QT联合开发示例
查看>>
List 去重
查看>>
Alpha Scrum 5 Oct.9th,2011
查看>>
OpenGl
查看>>
P3327 [SDOI2015]约数个数和
查看>>
js 测试题
查看>>
【19道XSS题目】不服来战!(转)
查看>>
nios II--实验6——串口软件部分
查看>>
航电 -1232 畅通工程
查看>>
自古枪兵幸运E
查看>>
个人常用的一些工具
查看>>
http中COOKIE和SESSION有什么区别?(转知乎)
查看>>
置换及其应用专题
查看>>
MySQL45道面试题及答案
查看>>
python学习笔记之入门
查看>>
C++ 得到系统时间
查看>>
Django 自定义装饰器 登录验证
查看>>