第11章序列.ppt
《第11章序列.ppt》由会员分享,可在线阅读,更多相关《第11章序列.ppt(13页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第第1111章章 序列序列在数据库中,在数据库中,ID往往作为数据表的主键。往往作为数据表的主键。ID的创建规则的创建规则又往往使用自增的整数。在又往往使用自增的整数。在SQL SERVER和和MySQL中提供中提供了自增的字段类型,但是了自增的字段类型,但是Oracle中并未提供该用法。在中并未提供该用法。在10.4节中节中,为了获得下一条记录的,为了获得下一条记录的EMPLOYEE_ID,不得不首,不得不首先获得数据表中已有先获得数据表中已有ID的最大值,并为之增加的最大值,并为之增加1。Oracle还提供了另外一种策略还提供了另外一种策略序列。序列。l创建序列;创建序列;l使用序列;使用
2、序列;l修改序列属性。修改序列属性。11.1 11.1 创建和使用序列创建和使用序列序列(序列(SEQUENCE)像其他数据库对象(表、约束、视图、)像其他数据库对象(表、约束、视图、触发器等)一样,是实实在在的数据库对象。一旦创建,即触发器等)一样,是实实在在的数据库对象。一旦创建,即可存在于数据库中,并可在适用场合进行调用。序列总是从可存在于数据库中,并可在适用场合进行调用。序列总是从指定整数开始,并按照特定步长进行累加,以获得新的整数。指定整数开始,并按照特定步长进行累加,以获得新的整数。本节着重讲解序列的创建和使用。本节着重讲解序列的创建和使用。11.1.1 11.1.1 创建序列创建
3、序列创建序列,应该使用创建序列,应该使用create sequence命令。本范例演命令。本范例演示了如何创建一个用于生成表示了如何创建一个用于生成表employee主键主键ID的序列。的序列。create sequence employee_seq;select object_name,object_type,status from user_objects where lower(object_name)=employee_seq;select sequence_name,min_value,max_value,increment_by from user_sequences where
4、lower(sequence_name)=employee_seq;11.1.2 11.1.2 使用序列使用序列对于序列,有两个重要的属性对于序列,有两个重要的属性currval和和nextval。其中。其中currval用于获得序列的当前值,而用于获得序列的当前值,而nextval则用于获得序列的下一则用于获得序列的下一个值。每次调用个值。每次调用nextval,都会使序列的当前值增加单位步长(默,都会使序列的当前值增加单位步长(默认步长为认步长为1)。)。序列的调用方法为序列的调用方法为seq.currval和和seq.nextval。但是,需要。但是,需要注意的是,在序列创建之后,应该首
5、先使用注意的是,在序列创建之后,应该首先使用seq.nextval,然后才,然后才能够使用能够使用seq.currval。select employee_seq.currval from dual;select employee_seq.nextval from dual;select employee_seq.currval from dual;alter table t_employees modify(employee_id number primary key);alter trigger tr_after_insert_employee disable;insert into t_e
6、mployees values(employee_seq.nextval,陆逊陆逊,0,ACT);11.1.3 11.1.3 序列初始值序列初始值start withstart with为了解决为了解决employee_seq的的nextval属性不适合表属性不适合表t_employee的问题。可以首先删除序列,然后重建该序列,的问题。可以首先删除序列,然后重建该序列,并在重建时指定初始值。并在重建时指定初始值。drop sequence employee_seq;create sequence employee_seq start with 12;insert into t_employee
7、s values(employee_seq.nextval,陆逊陆逊,0,ACT);select*from t_employees;11.2 11.2 修改序列属性修改序列属性向其他数据库对象一样,可以通过向其他数据库对象一样,可以通过alter命令修改序列命令修改序列属性。可修改的属性包括属性。可修改的属性包括minvalue、maxvalue、increment_by、cache和和cycle。11.2.1 11.2.1 修改修改minvaleminvale和和maxvaluemaxvalueminvalue和和maxvalue用于指定序列的最小值和最大值。用于指定序列的最小值和最大值。序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第11章 序列 11
限制150内