SEQUENCE 封装

来源:互联网 发布:淘宝人生有声小说收听 编辑:程序博客网 时间:2024/06/03 19:48


--SEQUENCE 封装--1、语法    CREATE SEQUENCE seq_name  --seq_namez定义的sequence名字    INCREMENT BY 1 -- 每次加几个    START WITH 1 -- 从1开始计数    NOMAXVALUE -- 不设置最大值    NOCYCLE -- 一直累加,不循环    CACHE 10; --说明SEQUENCE 函数: CURRVAL,NEXTVAL  CURRVAL =返回 sequence的当前值  NEXTVAL =增加sequence的值,然后返回 sequence 值   /*        如果指定CACHE值,ORACLE就可以预先在内存里面放置一些sequence,这样存取的快些。   cache里面的取完后,oracle自动再取一组到cache。           使用cache或许会跳号,     比如数据库突然不正常down掉(shutdown abort),cache中的sequence就会丢失.     所以可以在create sequence的时候用nocache防止这种情况。  */  --2、创建sequence    create sequence SEQ_6009    minvalue 1                --最小值    maxvalue 9999999999       --最大值    start with 1    increment by 1    cache 20;    --3、测试 SELECT SEQ_6009.NEXTVAL FROM dual;--4、字段拼接    --第1中方法   SELECT TO_CHAR(SYSDATE, 'YY') ||          TRIM(TO_CHAR(SEQ_6009.NEXTVAL, '00000000000000'))     FROM DUAL;    --第2中方法   SELECT TO_CHAR(SYSDATE, 'YYMMDD') ||          LPAD(TO_CHAR(SEQ_6009.NEXTVAL), 10, '0')     FROM DUAL;