Oracle 沒有自增字段,可以通過以下方式實現(xiàn):
1.建立測試數(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;
但是,這樣做有一個缺點,程序移植的時候就要做很大的變動,所以非要用這種數(shù)據(jù)庫自增的方式的話建議建一張表用來記錄另一張表中插入數(shù)據(jù)的最大ID,下一次插入數(shù)據(jù)時讀這張表再加1 。