oracle添加主键自动递增

来源:赵克立博客 分类: 数据库 标签:数据库发布时间:2020-01-09 20:37:45最后更新:2020-02-25 13:28:27浏览:849
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2020-02-25 13:28:27
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章

前言

oracle里是没有自动递增功能的。下面是使用触发器和序列来生成一个递增id添加上去,另外请注意oracle中查询的时候字段/列如果没有引号的号默认为按大写去查询,所以最好加上引号

创建表

创建如下文章表,主键为article_id

2001091578573289696755.png

创建一个序列

create sequence seq_article
minvalue 1
nomaxvalue
start with 1
increment by 1
nocycle  
nocache;

创建触发器

在有插入操作的时候如果主键为null就生成一个序列添加上去

CREATE OR REPLACE TRIGGER tr_article
BEFORE INSERT ON "kl_article" FOR EACH ROW WHEN (NEW."article_id" is null)
begin
select seq_article.nextval into:NEW."article_id" from SYS.dual;
end;



微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python