如何在Oracle下创建自动递增字段

本文介绍了在Oracle数据库中实现自增字段的方法。由于Oracle不直接支持自增字段,可以通过使用Sequence来达到类似的效果。文章详细解释了如何创建Sequence,并演示了在插入数据时如何应用Sequence。

原文发表于网易博客 2010-09-17 17:30:17

     先前在学校时候是有看过并且也用过一段时间的Mysql的.在Mysql中创建一个自动递增的字段,比较简单.
比如建表语句中,id int key auto_increment,最后在insert时,对应字段填空就行了.
     但在oracle中,还没有见到周围人有直接创建一个自增字段的.上网找了下,不少资料中都说不支持.要实现自增字段,只能通过其他方式来实现.比如,sequence.
     create sequence seq_test minvalue 1 maxvalue 99999 start with 1 increment by 1 cycle nocache;

    其中 cycle表示达到了最大值之后又从最小值开始循环.nocache是不把sequence的值缓存起来.
    这样,insert一条记录时,在对应位置填写sequence.nextval即可,也可以使用sequence.currval来查看当前的sequence的值.

    不同的是,如果没有调用过sequence.nextval,则调用sequnce.currval会报错.调用sequence.nextval使得sequence的值递增,然后返回当前值.sequence.currval则不改变sequence的值.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值