Oracle创建表主键自增
转载
创建数据库
1 2 3 4
|
CREATE TABLE STUDENT(ID NUMBER PRIMARY KEY , NAME VARCHAR (200) NOT NULL , SEX VARCHAR (200), CREATE_DATE DATE );
|
指定表名注释
1
|
COMMENT ON TABLE STUDENT IS '学生表' ;
|
指定列注释
1 2 3 4
|
COMMENT ON COLUMN STUDENT.ID IS '学生ID' ; COMMENT ON COLUMN STUDENT. NAME IS '学生姓名' ; COMMENT ON COLUMN STUDENT.SEX IS '学生性别' ; COMMENT ON COLUMN STUDENT.CREATE_DATE IS '创建日期' ;
|
创建序列
1 2 3 4 5 6
|
CREATE SEQUENCE student_seq INCREMENT BY 1 -- 每次增加1个 START WITH 1 --从1开始计数 NOMAXVALUE -- 不设置最大值 NOCYCLE --直累加,不循环 NOCACHE --不建立缓冲区
|
创建触发器
1 2 3 4 5 6
|
CREATE OR REPLACE TRIGGER STUDENT_TRG BEFORE INSERT ON STUDENT FOR EACH ROW -- WHEN (new.ID is null) 设置主键存在时,不触发触发器 BEGIN SELECT STUDENT_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL; END ;
|