更新oracle資料庫表如何實現主鍵自增長
在資料庫中實現主鍵自動增長有利於我們做資料插入操作,在SQL SERVER上建立表時可以在int型別的欄位後加上identity(1,1),該欄位就會從1開始,按照+1的方式自增,將這個欄位設定為主鍵。MySql中可以使用“auto_increment”即可。而oralce實現該效果需要使用序列配合觸發器使用。
下面是一個具體例項:
1.建立資料庫表:
create table employee
(
EID INTEGER,
NAME varchar2(10),
SURNAME varchar2(10),
GENDER varchar2(10),
STATE varchar2(10),
BIRTHDAY date,
HIREDATE date,
DEPT varchar2(10),
SQLARY INTEGER
)
;
2.建立序列:
create sequence EID_AUTOINC
minvalue 1
maxvalue 9999
start with 57
increment by 1
nocache;
3.建立觸發器:
CREATE OR REPLACE TRIGGER employee_EID --觸發器名稱
BEFORE INSERT ON employee --EMPLOYEE是表名
FOR EACH ROW
DECLARE
NEXTID NUMBER;
BEGIN
IF :NEW.EID IS NULL OR :NEW.EID=0 THEN --EID是列名
SELECT EID_AUTOINC.nextval --EID_AUTOINC是剛才建立的序列
INTO NEXTID
FROM DUAL;
:NEW.EID:=NEXTID;
END IF;
END employee_EID;
4.插入資料測試:
insert into employee
( name, surname, gender, state, birthday, hiredate, dept, sqlary)
values
( 'm', 'f', 'f', 'QQHE', to_date('1986-08-01','yyyy-mm-dd'), to_date('2010/08/24','yyyy-mm-dd'), 'C-center', '3500');
5.查詢驗證:
select * from employee