oracle 中没有auto_increment属性,所以我们必须换一种方法实现。一般常用的方法为创建sequence,然后为对应表的创建trigger。如下:
--建表 CREATE TABLE CHIP01.DX_TEST ( ID NUMBER NOT NULL, STU_ID NUMBER NOT NULL, STU_NAME VARCHAR2(200 BYTE) NOT NULL, STU_ADD VARCHAR2(500 BYTE), STU_AGE NUMBER(5) NOT NULL ); --主键 ALTER TABLE CHIP01.DX_TEST ADD ( CONSTRAINT P_ID PRIMARY KEY (ID)
);
--UNIQUE KEY ALTER TABLE DX_TEST ADD CONSTRAINT U_STU_ID UNIQUE(STU_ID);
--创建sequence CREATE OR REPLACE SEQUENCE AUTO_INCREMENT START WITH 1 NOMAXVALUE MINVALUE 1 NOCYCLE NOCACHE; --创建trigger CREATE OR REPLACE TRIGGER AUTOINCREMENT BEFOR INSERT ON DX_TEST REFERENCING NEW AS New OLD AS Old BEGIN FOR EACH ROW SELECT AUTO_INCREMENT.NEXTVAL INTO :NEW.ID FROM DUAL; END AUTOINCREMENT;
浙公网安备 33010602011771号