日期:2014-05-16 浏览次数:20575 次
问题的提出:在其他数据库中,比如SQL Server 和 Access 中都有一种自增长的数字类型,用来为主键提供支持,用户可以在增加数据的时候不用考虑主键,但是Oracle数据库中并没有这样的数据类型,Oracle用什么来实现这样的功能呢?
?
答案是:序列
?
1、序列是什么??
?
数字生成器
?
2、创建序列的语法
?
create sequence 序列的名字
?
minvalue 最小值
?
maxvalue 最大值
?
start with 启动数字
?
increment by 每次增长的数字
?
cache 缓存大小;
?
例如:
?
create sequence sq_person
?
minvalue 1
?
maxvalue 999999
?
start with 1
?
increment by 1
?
cache 10;
?
3、序列的作用?如何使用序列?
?
序列的作用:在插入数据的时候自动生成数字
?
序列的使用:序列名.NEXTVAL
?
insert into person values (sp_person.NEXTVAL,'张三');
?
4、是不是每个序列只能用在一个表上?
?
不是,多个表可以共用一个序列,但是建议为每个表创建单独的序列
?
5、序列生成的数字是连续的吗?它会根据表中的数字而选择数据的大小吗?
?
序列生成的数字是按照创建时指定的方式进行递增的,它不会考虑表中的数据,而是按照自己的形式自动增长
?