在oracle中創建自動增長字段
阿新 • • 發佈:2017-06-07
lac 創建表 測試 nocache ide char emp tab 技術分享
第二,創建員工表自動增長序列
create sequence employ_autoinc
before insert on test--表名
for each row
begin
select employ_autoinc.nextval into :new.nId from dual;
end; 最後測試一下我們的成果 insert into employee(DeptNo,EmpNo,Ename,job,sal,hiredate) values(520,5201002,‘James zhou‘,‘PD‘,6000,to_date(‘2012-10-22‘,‘yyyy-mm-dd‘)); select * from employee;
參考http://www.cnblogs.com/jerrmy/archive/2013/03/13/2958352.html
oracle在創建表時和其他的數據庫有點不一樣,如SQL SERVER可以在int類型的字段後加上identity(1,1),該字段就會從1開始,按照+1的方式自增,將這個字段設置為主鍵,有利於我們進行數據的插入操作。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)
);
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
nocache;
before insert on test--表名
for each row
begin
select employ_autoinc.nextval into :new.nId from dual;
end; 最後測試一下我們的成果 insert into employee(DeptNo,EmpNo,Ename,job,sal,hiredate) values(520,5201002,‘James zhou‘,‘PD‘,6000,to_date(‘2012-10-22‘,‘yyyy-mm-dd‘)); select * from employee;
在oracle中創建自動增長字段