oracle 如何設定主鍵自增(自增長字段)

2022-06-18 15:12:14 字數 1164 閱讀 2502

oracle有點麻煩,需要使用序列和觸發器達到目的。

具體步驟如下:

一、建立資料表

create table aaa_employee(

id int ,

deptno number,

empno number,

ename varchar2(16),

job varchar2(32),

sal float,

hiredate date,

constraint pk_aaa_employee primary key(empno)

);二、建立員工表自動增長序列

create sequenceaaa_employee_autoinc

minvalue 1

maxvalue 9999999999999999999999999999

start with 1

increment by 1

nocache;

三、建立觸發器將序列中的值賦給插入aaa_employee表的行

create or replace trigger insert_aaa_employee_autoinc

before insert onaaa_employee

for each row

begin

selectaaa_employee_autoinc.nextvalinto :new.idfrom dual;

end insert_aaa_employee_autoinc;

/四、驗證

insert into aaa_employee(deptno,empno,ename,job,sal,hiredate) values(520,5201002,'james','pd',6000,to_date('2012-10-22','yyyy-mm-dd'));

insert into aaa_employee(deptno,empno,ename,job,sal,hiredate) values(521,5211314,'xc','boss',90000,sysdate);

select * from aaa_employee

ref

設定Oracle主鍵自增

oracle沒有設定主鍵auto increment的功能,需要自己編寫序列和觸發器實現主鍵自動遞增。示例 建立表menu create table menu menuid number 10 not null primary key,name varchar2 40 not null,id par...

oracle設定主鍵自增

oracle中沒有自增字段,可通過序列 觸發器間接實現,cmd中sqlplus登入,直接執行即可。一般要經過一下幾步 1建立資料表 code create table test increase userid number 10 primary key,主鍵,自動增加 username varcha...

oracle中設定自增主鍵

新建序列 create sequence name increment by x x為增長間隔 start with x x為初始值 maxvalue x x為最大值 nomaxvalue 不設定最大值 minvalue x x為最小值 nominvalue 不設定最小值 cycle 迴圈使用,到達...