aoi.tsukasa 2021-10-01 23:11 采纳率: 75%
浏览 30
已结题

在Oracle中,为什么我每次用sql语句查询序列的NEXTVAL值,会使该值自动+1

今天想写一个主键自动增加的sql,就用了序列+触发器的方式,但是发现用sql方式查询序列的NEXTVAL值时,会使该值+1,致使表中的主键出现断号,有没有人知道是为什么呢?蟹蟹!

-- 创建序列
create sequence ID_INCREMENT_SEQ
MINVALUE 1
NOMAXVALUE
INCREMENT BY 1
START WITH 1
NOCACHE
NOCYCLE;


-- 创建触发器
create or replace trigger PK_ID_INCREMENT
before insert on USERS
for each row
  begin
        select ID_INCREMENT_SEQ.nextval into:new.id from dual;
    end PK_ID_INCREMENT;
select ID_INCREMENT_SEQ.NEXTVAL from dual
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 10月9日
    • 创建了问题 10月1日

    悬赏问题

    • ¥15 c++2013读写oracle
    • ¥15 c++ gmssl sm2验签demo
    • ¥15 关于模的完全剩余系(关键词-数学方法)
    • ¥15 有没有人懂这个博图程序怎么写,还要跟SFB连接,真的不会,求帮助
    • ¥30 模拟电路 logisim
    • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
    • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
    • ¥15 安装quartus II18.1时弹出此error,怎么解决?
    • ¥15 keil官网下载psn序列号在哪
    • ¥15 想用adb命令做一个通话软件,播放录音