--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;
SEQUENCE 封装
猜你喜欢
转载自blog.csdn.net/tane_1018/article/details/78038303
今日推荐
周排行