oracle获取当前序列号然后增加1,oracle 自动生成编号(实现sqlserver自增长字段)...

在access中有自动编号的数据类型,mssql和mysql也都有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值,而oracle没有自动增长的数据类型,我们需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段,可以预见的是,有此功能,我们可以把数据从access、mssql或mysql迁移到oracle了!

create sequence type_id increment by 1 start with 1

这句中,type_id为序列号的名称,每次增长为1,起始序号为1。

如果要删除序列,用drop sequence 序列名就可以了!!

序列可以保证多个用户对同一张表进行操作时生成唯一的整数 利用序列可以自动生成主关键字 序列只存在于数据字典中.

create sequence sequence

[increment by n]

[start with n]

[{maxvalue n|nomaxvalue}]

[{minvalue n|nominvalue}]

[{cycle |nocycle}]

[{cache n|nocache}]

increment by--指定步长

start with--指定初始值

maxvalue--定义序列生成的最大编号.默认的maxvalue就是nomaxvalue 对于递增序列为10^27 对于递减序列为-1

minvalue--定义序列的最小编号 默认的minvalue为nominvalue 对于递增序列为1 递减序列为-10^26.

cycle--配置序列在达到界限值时重复编号

nocycle--达到界限值时不重复编号 这是默认值 当你试图生成maxvalue+1时将返回异常.

cache--定义在内存中保留的序列编号块的大小 默认值为20.

nocache--强制数据词典对于生成的每个序列编号进行更新 保证在生成的编号中没有空缺 但这样会降低性能.

生成一个序列

create sequence dept_deptid_seq

increament by 10

start with 120

maxvalue 9999

nocache

nocycle

//如果是用来生成主键值的话 不要用cycle选项 而且命名序列时最好能体现它的潜在用途以便于理解.

确认序列

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值