在oracle中建立自動增長字段

2022-02-03 03:14:20 字數 1146 閱讀 5693

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

五、結果截圖

在oracle中建立自動增長字段

oracle在建立表時和其他的資料庫有點不一樣,如sql server可以在int型別的字段後加上 identity 1,1 該字段就會從1開始,按照 1的方式自增,將這個字段設定為主鍵,有利於我們進行資料的插入操作。mysql中可以使用 auto increment 即可。但是oracle有點麻煩...

oracle建立自動增長字段

oracle資料庫與其他的資料庫不太一樣,比如在mysql裡自動增長只要設定 auto increment 即可。可是在oracle裡就麻煩了。本文就說說在oracle裡建立自動增長的字段。sql create table createtableuserinfo id number not null...

oracle建立自動增長字段

oracle資料庫與其他的資料庫不太一樣,比如在mysql裡自動增長只要設定 auto increment 即可。可是在oracle裡就麻煩了。本文就說說在oracle裡建立自動增長的字段。create table create table userinfo id number not null u...