您的位置:首页 > 数据库 > Oracle

SQL_Oracle 表中ID字段的自动递增

2016-07-07 17:38 585 查看
目标:实现向一张表中插入数据时,ID字段自动递增。

开始实验:

(1)、创建实验表

createtable test_ID_add
(
ID NUMBER(10),
USERNAME VARCHAR2(32),
TEL VARCHAR2(11),
CREATE_DATE datedefaultsysdate
);

(2)、创建序列

使用PL/SQL Developer创建序列





[plain]
view plain
copy





补充:

对于序列的创建,我们也可以通过命令实现,如下:

create sequence seq_test

increment by 1

start with 1

nomaxvalue

nominvalue

nocache

--参数说明

--seq_test,表示创建序列的名称

--increment by 1 表示每次增加1

--start with 1表示开始于1

--nomaxvalue表示没有最大值

--nominvalue表示没有最小值

--nocache表示序列号达到上限后不继续扩展

补充结束

(3)、创建触发器

--每次向test_id_add表新插入一条数据之前,先插入一个ID值

create orreplacetrigger
tr_IDADD
before inserton test_id_add
for eachrow
begin
select seq_idadd.nextvalinto :new.idfrom
dual;
end;

(4)、测试

SQL>insert into test_id_add(Username,TEL)values('huangyanlong','12345678900');
--插入第一条数据
SQL>commit;
SQL>SELECT *from test_id_add;



SQL>insertinto
test_id_add(Username,TEL) values('lilei','13713777777');
--插入第二条数据

SQL>commit;
SQL>SELECT *from test_id_add;



如图所示,ID字段在以每次加一后自动增长。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle 自增长