ITPub博客

首页 > 数据库 > Oracle > 关于oracle的序列

关于oracle的序列

原创 Oracle 作者:lusong163 时间:2007-08-09 11:49:23 0 删除 编辑
Oracle并不支持在建表的时候,选择序列类型的列值类型,这是我们必须要另建序列[@more@]

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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-10-27

  • 博文量
    8
  • 访问量
    39205