oracle不想sql
server一样有一个自增长属性可以设置.oracle如果需要自增长需要使用序列.
主要的实现过程:
①.、创建序列
-- Create sequence
create sequence SEQ_NAME
minvalue 1
start with 1
increment by 1
order;
select seq_name.nextval from dual;---查询seq_name序列的下一个数值
insert into tablename (a,b) value (seq_name.nextval,'b');--获取下一个序列值插入数据库中
oracle 中不能设置自动增加,这个和其他数据库不一样,但是有 序列,这个是Oracle自己特有的东西,
首先创建序列:
create sequence seq;
这就创建好了,然后 seq.nextval 就会返回一个值,不会重复的值,
insert into tablename values(seq.nextval,'001','javabook');
首先,Oracle中没有像MySQL那样的id自增长功能
如果要用Oracle这么做的话首先要先建一个表,如:
CREATE
TABLE
test(
ID
NOT
NULL
PRIMARY
KEY,
NAME
PHONE
VARCHAR(10),
ADDRESS
然后,你需要一个自定义的sequence:
SEQUENCE
emp_sequence
INCREMENT
BY
--
每次加几个
START
WITH
从1开始计数
NOMAXVALUE
不设置最大值
NOCYCLE
一直累加,不循环
NOCACHE
不建缓冲区
你只有了表和序列还不够,还需要一个触发器来执行它:
TRIGGER
"触发器名称"
BEFORE
INSERT
ON
example
FOR
EACH
ROW
WHEN
(new.id
is
null)
begin
select
emp_sequence.nextval
into:
new.id
from
dual;
end;
这时你再向test表中插数据就可以不用管id了
以上就是土嘎嘎小编为大家整理的oracle有自怎么相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!