原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任。
深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/43937701
目标:实现向一张表中插入数据时,ID字段自动递增。
开始实验:
(1)、创建实验表
createtable test_ID_add
(
IDNUMBER(10),
USERNAME VARCHAR2(32),
TEL VARCHAR2(11),
CREATE_DATE datedefaultsysdate
);
(2)、创建序列
使用PL/SQL Developer创建序列
补充: 对于序列的创建,我们也可以通过命令实现,如下: 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值
createorreplacetrigger tr_IDADD
beforeinserton test_id_add
foreachrow
begin
select seq_idadd.nextvalinto :new.idfrom dual;
end;
(4)、测试
SQL>insertinto 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字段在以每次加一后自动增长。
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任。
深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/43937701
原文地址:http://blog.csdn.net/huangyanlong/article/details/43937701