大家编程的时候想让相应的主键值自动增长,免得在插入语句的时候每次要插入主键值,所以设定主键自动增长是一个非常好的编程习惯。能够数量应用主键自动增长以及触发器在数据库编程中是非常重要的。
下面分享下我在设定主键自动增长上的一些见解:高手指教。
首先要创建一个序列,来指定对于那个主键进行增长。
注意:序列名不能和主键名同名;要符合命名规范,一般是sq_相应表(主键)英文所写
如 sq_studentID 学生编号序列。创建好序列后就创建触发器,触发器命名要符合命名规范。我将不再啰嗦。
创建序列语法:
create sequence sq_studentID
minvalue 1 --最小值
maxvalue 10000 --最大值
increment by 1 --主键每次增长1
start with 1 --主键从1开始添加
cache 20 --设定CPU缓存 20
order;
--创建触发器
create trigger tr_into_studentInf --相对与studentInfo表
before --在执行语句前,还是后。
insert on studentInfo for each row --执行插入操作
begin --开始执行语句
select sq_studentID.nextval into :new.student_id from dual; --该句我的理解是将查询到的下一个主键值即自动增长的值插入到学生编号列上。 新增的id在临时表dual中存放。
end