亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于sequence的next number值的問題,麻煩幫忙看看以下的語句,求解釋!

關于sequence的next number值的問題,麻煩幫忙看看以下的語句,求解釋!

SMILET 2021-07-22 18:15:15
使用:CREATE SEQUENCE test_sequence1INCREMENT BY 1 -- 每次加幾個START WITH 1 -- 從1開始計數NOMAXVALUE -- 不設置最大值NOCYCLE -- 一直累加,不循環CACHE 10;建立sequence后,在plsql中看到序列的定義時有一個是NEXT NUMBER,此時是1,但當使用了一次這個sequence后,再看這個NEXT NUMBER就是11了,我理解不應該是下一個值,即2么?難道理解不對?我沒有中斷數據庫連接或是其它操作,cache也會跳號?謝謝!我明白,但我在PLSQ中用右鍵view這個序列的定義時,有個列是NEXT NUMBER,用一次nextval后它就變成11了,不是2,不知道這是為什么呢?
查看完整描述

2 回答

?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

NEXTNUMBER是序列下一次要緩存的值的起始。
沒看到 CACHE 10 嗎? 系統已經給你預先緩存了10個值。
所以,NEXTVAL是2,NEXTNUMBER就是 11了。
如果 CACHE 20的話,你 看到的NEXT NUMBER就是21了!
GOOD LUCK!

查看完整回答
反對 回復 2021-07-26
?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

當你創建后 使用一次就是 test_sequence1.nextval 就是2 啊 test_sequence1.currval 是1。 你試試?
例如你創建一個表 create table test(id number);
insert into test values(test_sequence1.nextval );
insert into test values(test_sequence1.nextval );
insert into test values(test_sequence1.nextval );

查看完整回答
反對 回復 2021-07-26
  • 2 回答
  • 0 關注
  • 510 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號