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个

     START WITH --从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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值