oracle的序列的学习
--创建序列
--使用 create sequence 序列名
--特点1:默认开始是没有值的,也就是指针指在了没有值的位置。
--特点2:序列名.nextval每次执行都会自增一次,默认步长为1。
--特点3:序列名.currval查看当前序列的值。开始是没有的。
--作用:作为主键使用,动态的获取之间的值,这样新增数据的时候极大的避免了主键冲突
--使用的是 序列名.nextval作为主键
--注意:主键是非空唯一就可以,不需要主键的值是连续的值。
--创建默认序列
create sequence cc;--创建序列cc
select cc.currval from dual--查看序列当前值
select cc.nextval from dual--查看序列的自增后的值。
--创建自定义序列
create sequence aa--创建序列
start with 5 --设置开始位置
increment by 2 --设置步长
select aa.currval from dual
select aa.nextval from dual
--创建测试表
create table teacher(
tid number(10) primary key,
tname varchar(100) not null
)
insert into teacher values(cc.nextval,'张三');
insert into teacher values(cc.nextval,'张三');
select * from teacher
--删除序列
--drop sequence 序列名
drop sequence aa