在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);

五、结果截图

 

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐