Oracle 创建表并设置主键自增

创建数据库

CREATE TABLE STUDENT(ID NUMBER PRIMARY KEY,
NAME VARCHAR(200) NOT NULL,
SEX VARCHAR(200),
CREATE_DATE DATE);

指定表名注释

COMMENT ON TABLE STUDENT IS '学生表';

指定列注释

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 '创建日期';

创建序列

CREATE SEQUENCE student_seq 
     INCREMENT BY 1 -- 每次增加1个
     START WITH 1 --从1开始计数
     NOMAXVALUE -- 不设置最大值
     NOCYCLE --直累加,不循环
     NOCACHE --不建立缓冲区

创建触发器

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;

  

原文地址:https://www.cnblogs.com/wangjianly/p/10767367.html