在oracle中创建自动增长字段
oracle在创建表时和其他的数据库有点不一样,mysql中可以使用“auto_increment”即可。但是oracle有点麻烦,需要使用序列和触发器达到目的。
具体步骤如下:
一、创建数据表
create table employee(
id int ,
deptno number,
empno number,
ename varchar2(16),
job varchar2(32),
sal float,
hiredate date,
constraint pk_employee primary key(empno)
);
二、创建员工表自动增长序列
create sequence employee_autoinc
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
nocache;
三、创建触发器将序列中的值赋给插入employee表的行
create or replace trigger insert_employee_autoinc
before insert on employee
for each row
begin
select employee_autoinc.nextval into :new.id from dual;
end insert_employee_autoinc;
/
四、验证
insert into employee(deptno,empno,ename,job,sal,hiredate) values(520,5201002,'james zhou','pd',6000,to_date('2012-10-22','yyyy-mm-dd'));
insert into employee(deptno,empno,ename,job,sal,hiredate) values(521,5211314,'xc','boss',90000,sysdate);
五、结果截图
上一篇: 容器内存占用之系统cache介绍