项目需要生成一组连续的流水号,并且该流水号隔天重置,使用DB2序列实现,DB2版本7.1.2
CREATE SEQUENCE <sequence-name>
AS data-type 默认 As Integer
START WITH <numeric-constant>
INCREMENT BY <numeric-constant> 默认 INCREMENT BY 1
MINVALUE <numeric-constant> | NO MINVALUE 默认 NO MINVALUE
MAXVALUE <numeric-constant> | NO MAXVALUE 默认 NO MAXVALUE
NO CYCLE | CYCLE 默认 NO CYCLE
CACHE <numeric-constant> | NO CACHE 默认 CACHE 20
NO ORDER | ORDER 默认 NO ORDER
参数简介如下:
or replace:若有创建序列重名的序列,那么将会被替代(先删除,再创建)
as datatype:指定数据类型,这里说明下,序列的数据类型只能为数值型,
如,smallint,integer,bigint,不带小数点的decimal类型。
start with:指定序列的起始值,默认情况下,对于升序的序列是当前指定数据类型的最小值,
对于降序序列的是当前指定类型的最大值。
increment by:指定增长的值,默认值为1,正数表示此序列为增长升序的,负数表示此序列为降序的。
minvalue:最小值,若降序序列,no cycle的话,到此值的时候就不再生成序列值了;
no minvalue:对于升序序列来说,此值为start with的值,如果start with值未指定的话就是1.
对于降序序列来说,此值就是指定数据类型的最小值。
maxvalue:指定生产序列的最大值,
no maxvalue:对于升序序列来说,此值为指定数据类型的最大值;
对于降序序列来说,此值为start with值,若未指定start with值的话就是-1.
cycle:循环使用数据值,对于升序序列来说,当达到了最大值之后,下一个值将会是其最小值;
对于降序序列来说,达到最小之后,下一个序列值为其最大值。
no cycle:当达到序列的边界值之后,就不再产生序列值,默认选项。
cache:缓存序列值,表示每次应用此序列的时候,预先生产并存放在内存中的序列值。
其作用是有效的降低了写日志的I/O操作。
若在使用的过程中,出现系统错误的话,那么所有这些缓存值将会丢失。
最小值为2,默认为20
no cache:当指定此选项的时候,内存中不会存储任何序列值,无论出现什么异常现象都不会影响到此序列,
每次生存新的序列值,都会导致写日志的I/O操作。
order:按照请求的顺序生成值。
no order:不会按照请求的顺序生成值,默认情况。
序列取值:
下一个值:VALUES NEXTVAL FOR 序列 或 VALUES NEXT VALUE FOR 序列
当前值: VALUES PREVIOUS VALUE FOR 序列 或 VALUES PREVVAL FOR 序列
序列设置开始值:ALTER SEQUENCE 序列名 RESTART WITH 下一值(隔天重置序列值,建立定时任务,每天00:00执行重置序列初始值任务))
修改最大值 ALTER SEQUENCE <sequence_name> MAX VALUE <numeric-constant> | NO MAXVALUE
修改最小值: ALTER SEQUENCE <sequence_name> MIN VALUE <numeric-constant> | NO MINVALUE (修改值需要比当前值小)
修改步长: ALTER SEQUENCE <sequence_name> INCREMENT BY <numeric-constant>;
修改CACHE值: ALTER SEQUENCE <sequence_name> CACHE <numeric-constant> | NO CACHE
修改循环属性: ALTER SEQUENCE <sequence_name> <CYCLE | NO CYCLE>
修改排序属性:ALTER SEQUENCE <sequence_name> <ORDER | NO ORDER>
从新计数: ALTER SEQUENCE <sequence_name> RESTART | RESTART WITH <numeric-constant>
DROP SEQUENCE <sequence_name>; 删除序列
db2 修改列的数据类型 db2修改序列
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
DB2日常运维命令linux sql Database db2
-
2_模板页面怎么修改 -- 谈谈小应用的那些事儿
1.使用前端框架2.改变题目设计3.改变答案设计4.查看模板页面的整体效果5.接下来做什么
Bootstrap html 模板 -
db2 修改 system_path db2 修改索引
一、索引是什么MySQL官方对索引的定义为:索引(Index)是帮助MySQL 高效 获取数据的数据结构,而MYSQL使用的数据结构是: B+树在这里推荐大家看一本书, 《深入理解计算机系统的书》1.1 局部性原理程序和数据的访问都有聚集成群的倾向,在一个时间段内,仅使用其中一小部分,在最近的将来将用到的信息很可能与现在正在使用的信息在空间地址上是临近的( 称空间局部性
db2 修改 system_path db2 删除索引 mysql 取较大日期 mysql 查找相似数据 object.values 取索引 -
DB2中CHAR数据类型 db2的varchar类型
申明:这里只说了两种库的连接方式下。char和varchar类型作为检索条件时的差异 1,Statement stmt0=conn.p
DB2中CHAR数据类型 oracle db2 数据库 null