成都公司:成都市成华区建设南路160号1层9号
重庆公司:重庆市江北区红旗河沟华创商务大厦18楼
SQL_Oracle 表中ID字段的自动递增
目标:实现向一张表中插入数据时,ID字段自动递增。
开始实验:
(1)、创建实验表
createtabletest_ID_add

(
IDNUMBER(10),
USERNAMEVARCHAR2(32),
TELVARCHAR2(11),
CREATE_DATEdatedefaultsysdate
);
(2)、创建序列
使用PL/SQL Developer创建序列
[plain]view plaincopy
补充:
对于序列的创建,我们也可以通过命令实现,如下:
createsequenceseq_test
incrementby1
startwith1
nomaxvalue
nominvalue
nocache
--参数说明
--seq_test,表示创建序列的名称
--incrementby1表示每次增加1
--startwith1表示开始于1
--nomaxvalue表示没有最大值
--nominvalue表示没有最小值
--nocache表示序列号达到上限后不继续扩展

补充结束
(3)、创建触发器
--每次向test_id_add表新插入一条数据之前,先插入一个ID值
createorreplacetriggertr_IDADD
beforeinsertontest_id_add
foreachrow
begin
selectseq_idadd.nextvalinto:new.idfromdual;
end;
(4)、测试
SQL>insertintotest_id_add(Username,TEL)values('huangyanlong','12345678900');
--插入第一条数据
SQL>commit;
SQL>SELECT*fromtest_id_add;
SQL>insertintotest_id_add(Username,TEL)values('lilei','13713777777');
--插入第二条数据
SQL>commit;
SQL>SELECT*fromtest_id_add;

