首页 > 数据库 > Oracle > 关于oracle的序列
Oracle并不支持在建表的时候,选择序列类型的列值类型,这是我们必须要另建序列,
然后在插入表的时候,可以选择在insert语句中插入,或者另建触发器在在插入前进行判断和修改
示例:
employee:
id(员工序号,自增序列),name(员工名),salary(工资)
创建序列:
emp_id:
CREATE SEQUENCE "VEHICLEDB"."EMP_ID" INCREMENT BY 1 START WITH
200010310001 MAXVALUE 1.0E28 MINVALUE 200010310001 NOCYCLE
CACHE 20 NOORDER
方法1.使用插入的方法,写入id列
select emp_id.curval from dual ;
insert into employee values(emp_id.nexval,'LiMing',5600);
方法2:
创建触发器来实现
CREATE OR REPLACE TRIGGER "VEHICLEDB"."EMP_ID_TRIGER" BEFORE
INSERT
ON "VEHICLEDB"."ACCEPTTAB"
FOR EACH ROW
declare
id_seq number;
begin
select emp_id.nextval into id_seq from dual;
:new.id:=id_seq;
end;
然后在插入表的时候,就可以直接写
insert into employee(name,salary)values('LiMing',5600);
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/79792/viewspace-937467/ ,如需转载,请注明出处,否则将追究法律责任。