Oracle通過sequence的操作

2021-07-04 16:09:27 字數 1145 閱讀 3251

1、自增的實現

我們知道,oracle中表的主鍵沒有自增的操作,而是通過序列的方式來實現自增,以下介紹一下自增的實現方式:

create sequence datacenter.autoid

increment by 1

start with 0

nomaxvalue

minvalue 0

nocycle

cache 20

noorder

2、自增手動復位

select datacenter.autoid.nextval from dual; 檢視序列當前的值,若是對應的val值

alter sequence datacenter.autoid increment by -val;

select datacenter.autoid.nextval from dual;此時序列就歸零了,等到你下次再來取值的時候就是從1開始

alter sequence seq_name increment by 1;//還原按增量為1自增

3、更改某個欄位的值為自增序列

update  document set  id =autoid.nectval;這個就實現了某個欄位的自增的操作了。

4、實現自動曾1

由於oracle沒有自增的功能,因此採用觸發器的方式來實現自增。也就是在每一次插入的過程中觸發乙個觸發器來進行自增。那麼這就涉及到如何編寫觸發器了。

(1)觸發器的建立

create or replace trigger datacenter.mytrigger

before insert

on datacenter.document //這裡on後面就跟你相應的表進行關聯

referencing old as old new as new

for each row

begin

select autoid.nextval

into :new.id //這裡的id就是你表中需要自增的字段

from dual;

end;

/

(2)通過上面已經建立了觸發器,下面來只需要插入除主鍵以外的字段即可。

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...