Oracle数据库建表并设置主键自增

在这里我 以礼物表为例:

1.创建表:

create table tb_gift(
giftID number primary key,--礼物id
giftName varchar2(1024),--礼物名称
giftPrice number,--礼物价格
giftPic varchar2(1024),--礼物图片路径
del number--是否被删除(1表示删除)
)

2.注释,这个可写可不写[]

--指定表注释
COMMENT ON table tb_gift IS '礼物表';
--指定列注释
COMMENT ON COLUMN tb_gift.giftID IS '礼物id';
COMMENT ON COLUMN tb_gift.giftName IS '礼物名称';
COMMENT ON COLUMN tb_gift.giftPrice IS '礼物价格';
COMMENT ON COLUMN tb_gift.giftPic IS '礼物图片';
COMMENT ON COLUMN tb_gift.del IS '是否被删除(1表示删除)';

在这里插入图片描述
3.创建序列

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

4.创建触发器

--创建触发器
CREATE OR REPLACE TRIGGER tb_gift_trg
  BEFORE INSERT ON tb_gift
  FOR EACH ROW -- WHEN (new.giftID is null) 设置主键存在时,不触发触发器
BEGIN
  SELECT tb_gift_seq.NEXTVAL INTO:NEW.giftID FROM DUAL;
END;

最后让我们来测试一下:

--测试
insert into tb_gift(giftName,giftPrice,giftPic,del) values('机械键盘',229,'C:\Users\KingHao\Pictures\Saved Pictures\keyboard.png',0);
select * from tb_gift;

在这里插入图片描述

发布了70 篇原创文章 · 获赞 114 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43330884/article/details/103844553
今日推荐