--一、建立表 CREATE TABLE RAUTO( M_ID NUMBER(4) PRIMARY KEY , M_NAME VARCHAR2(22) NOT NULL, M_SEX NUMBER(2) DEFAULT 2 CHECK(M_SEX IN (1,2)) NOT NULL, M_ADDRESS VARCHAR2(100) ) ; select * from RAUTO; --二、建立sequence 自增 CREATE SEQUENCE R_SEQ MINVALUE 1 --最小值 MAXVALUE 9999999999 --最大值 START WITH 1 --从几开始 INCREMENT BY 1 --每次增加几 NOCACHE ORDER; --三、建立触发器实现自动 CREATE OR REPLACE TRIGGER R_TRIGGER BEFORE INSERT ON RAUTO FOR EACH ROW BEGIN SELECT R_SEQ.NEXTVAL INTO:new.M_ID FROM----new.M_ID 这里要指定主键名称 才可以 DUAL; END; --插入一条新的数据 INSERT INTO RAUTO(M_NAME,M_SEX,M_ADDRESS) VALUES('FU',2,'北京'); SELECT R.M_ID,R.M_NAME,R.M_ADDRESS,DECODE(R.M_SEX,1,'女',2,'男') SEX FROM RAUTO R;