在oracle里使用自增ID字段的步驟比較繁瑣,總結(jié)如下:
-- 創(chuàng)建表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
CREATE TABLE ADVICE ( ID INT NOT NULL , ACTIVE INT DEFAULT 1 NOT NULL , TYPE INT NOT NULL , MSG VARCHAR2(512) NOT NULL , ADVICE VARCHAR2(4000) NOT NULL , PRIMARY KEY (ID), CONSTRAINT ADVICE_UNI UNIQUE (TYPE,MSG) )TABLESPACE MYDB; --創(chuàng)建自增ID,名稱為:表名_字段名_SEQ CREATE SEQUENCE ADVICE_ID_SEQ MINVALUE 1 NOMAXVALUE INCREMENT BY 1 START WITH 1 NOCACHE; -- 為Insert操作創(chuàng)建觸發(fā)器,無需在SQL語句里寫NEXTVAL,名稱為表名_INS_TRG CREATE OR REPLACE TRIGGER ADVICE_INS_TRG BEFORE INSERT ON ADVICE FOR EACH ROW WHEN (NEW.ID IS NULL ) BEGIN SELECT ADVICE_ID_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL; END ; |