比如有99 條資料,但發現id(自增長)的最大值是100,怎麼找出那個漏掉的數啊
--測試準備
drop table test;
create table test(id integer);
drop sequence seq_index;
create sequence seq_index
increment by 1
start with 1
maxvalue 100
cycle;
insert into test (id)
select seq_index.nextval from dual connect by level <= 100;
select * from test for update ;--刪除幾條資料,等會檢視這幾條資料
--執行一條語句,就可以查詢出確少的數字了
select rownum id from dual where rownum>=1 and rownum<=100 connect by level <= 100
minus
select id from test
--優化一下,就是這條了
select rownum id
from dual
where rownum >= (select min(id) from test)
connect by level <= (select max(id) from test)
minus
select id from test
Oracle中自動獲取序列sequence用法
oracle中沒有自增型別的字段的,所以通常情況下需要定義乙個sequence來作為自動增長型別欄位的資料。於是記錄了一些關於oracle sequence的資料,已備查用 oracle中的序列 sequence 1 如何定義乙個序列 僅向前的數字變數 和sql中的自動編號有點像 identity ...
Oracle中如何建立使用SEQUENCES
oracle中sequences的使用 oracle提供了sequence物件,由系統提供自增長的序列號,通常用於生成資料庫資料記錄的自增長主鍵或序號的地方.下面介紹一下關於sequence 的生成,修改,刪除等常用的操作 1.建立 sequence 使用如下命令新建sequence 使用者需要有c...
Oracle中sequenc和觸發器
oracle中的sequence即序列號,在取的時候會隨著規定增長。比如1個由1開始,每次增長1的序列號。create trigger seq user1 start with 1 increment by 1 序列號,通常被我們用於作為自動增長的id號進行使用。對於乙個user1 id,usern...