Oracle 沒(méi)有自增字段,可以通過(guò)以下方式實(shí)現(xiàn):
1.建立測(cè)試數(shù)據(jù)表
CREATE TABLE TEST
(
ID NUMBER,
NAME VARCHAR2(20),
PRIMARY KEY(ID)
);
2.創(chuàng)建序列
CREATE SEQUENCE SEQ_TEST;
3.創(chuàng)建觸發(fā)器
CREATE OR REPLACE TRIGGER AUTOINCREMENT
BEFORE INSERT ON TEST
FOR EACH ROW
WHEN (NEW.ID IS NULL)
BEGIN
SELECT SEQ_TEST.NEXTVAL INTO :NEW.ID FROM DUAL;
END;
/
4.插入數(shù)據(jù)
INSERT INTO TEST(NAME) VALUES('NAME1');
5.查看插入結(jié)果
SELECT * FROM TEST;
但是,這樣做有一個(gè)缺點(diǎn),程序移植的時(shí)候就要做很大的變動(dòng),所以非要用這種數(shù)據(jù)庫(kù)自增的方式的話建議建一張表用來(lái)記錄另一張表中插入數(shù)據(jù)的最大ID,下一次插入數(shù)據(jù)時(shí)讀這張表再加1 。