十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1、写个存储过程执行下面语句。
创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的琼山网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
--每天自动删除sequence,和新建sequence
drop sequence emp_sequence;
CREATE SEQUENCE emp_sequence
START WITH 1 -- 从1开始计数zhuan
INCREMENT BY 1 -- 每次加几个
NOMAXVALUE -- 不设置最大值
MAXVALUE 9999999 --比如需要设置最大值为9999999
NOCYCLE -- 一直累加,不循环
CACHE 10 ; ----这个设置了后会自动放内存里,加快存取速度,可以不设置。
2、Alter Sequence
拥有ALTER ANY SEQUENCE 权限才能改动sequence. 可以alter除start至以外的所有sequence参数。
主键如果用的是序列的话,可以判断主键大于某个值得记录,就应该是你要删除的
除了 sequence.nextval 其余的任何操作都不会影响到 序列的值,也就是说 ,你删不删除数据 序列就在那里不增不减 ,序列只是ORACLE提供生成不重复ID 的一种方式 独立于任何表
看着没问题,自己照你的打了一遍,也可以编译过去。不行你复制我的试试:
create or replace procedure acer_seq_reset as
tsql varchar2(100);
begin
tsql := 'drop sequence acer_seq';
execute immediate tsql;
tsql := 'create sequence acer_seq increment by 1 start with 1 maxvalue 9999999';
execute immediate tsql;
end;
序列是一数据库对象,利用它可生成唯一的整数。一般使用序列自动地生成主码值。一个序列的值是由特殊的Oracle程序自动生成,因此序列避免了在应用层实现序列而引起的性能瓶颈。Oracle序列允许同时生成多个序列号,而每一个序列号是唯一的。当一个序列号生成时,序列是递增,独立于事务的提交或回滚。允许设计缺省序列,不需指定任何子句。该序列为上升序列,由1开始,增量为1,没有上限。 1) 建立序列命令 网管网 CREATE SEQUENCE [user.]sequence_name [increment by n] [start with n] [maxvalue n | nomaxvalue] [minvalue n | nominvalue]; INCREMENT BY: 指定序列号之间的间隔,该值可为正的或负的整数,但不可为0。序列为升序。忽略该子句时,缺省值为1。 START WITH:指定生成的第一个序列号。在升序时,序列可从比最小值大的值开始,缺省值为序列的最小值。对于降序,序列可由比最大值小的值开始,缺省值为序列的最大值。 MAXVALUE:指定序列可生成的最大值。 NOMAXVALUE:为升序指定最大值为1027,为降序指定最大值为-1。 MINVALUE:指定序列的最小值。 NOMINVALUE:为升序指定最小值为1。为降序指定最小值为-1026。 网管网www_bitscn_com 2) 更改序列命令 网管网www_bitscn_com ALTERSEQUENCE [user.]sequence_name [INCREMENT BY n] [MAXVALUE n| NOMAXVALUE ] [MINVALUE n | NOMINVALUE]; 修改序列可以: ? 修改未来序列值的增量。 ? 设置或撤消最小值或最大值。 ? 改变缓冲序列的数目。 ? 指定序列号是否是有序。 网管u家u.bitscn@com 3) 删除序列命令 中国网管联盟bitsCN.com DROP SEQUENCE [user.]sequence_name; 从数据库中删除一序列。 网管联盟bitsCN@com 创建一个序列号的语句: 中国网管联盟bitsCN.com CREATE SEQUENCE EXAM_NO_SEQ START WITH 1484 MAXVALUE 9999999999 MINVALUE 1 CYCLE CACHE 20 NOORDER; 网管网www_bitscn_com PB中取序列号的用法: 网管bitscn_com string v_exam_no //获取申请序号 SELECT exam_no_seq.nextval INTO :v_exam_no FROM dual using ghis_database; if ghis_database.SQLCODE0 then messagebox("","取检查序号出错") return end if【转自 】