Oracle資料庫序列的運用,不確定序列值的初始化

2021-09-23 08:17:22 字數 916 閱讀 2361

oracle資料庫中,沒有自增列

序列sequence,會提供乙個自增的值

將這個自增的值填入某個指定列,其實也相當於該列是乙個自增列

建立序列

create   sequence   [seq_name];

刪除序列:

drop  sequence  [seq_name];

使用序列,得到序列的值

[seq_name].nextval

示例:insert into t_dict values(seq_t_dict.nextval,'1','nan','***');

因為oracle資料庫如果使用序列來作為主鍵值,那麼因為延遲載入技術的存在,導致序列有可能從2開始,為了避免在初始化資料中,關聯表資料插入出現錯誤,可以在初始化資料時,先寫死主鍵。

比如在建立使用者,角色,使用者角色關係表初始化資料時:

insert into t_user values(1,』admin』,...);

insert into t_user values(2,』user』,...);

insert into t_role values(1,』role1』,...);

insert into t_role values(2,』role2』,...);

insert into t_user_role values(1,1,1);  //將role1角色授予admin使用者

之後建立針對這些表的序列

序列是給通過介面新增使用者,新增角色,新增使用者角色對應關係時使用

可以將序列的初始值,通過引數設定到比較大的數字上

create sequenece seq_t_user satrt with 100;  //序列sql_t_user的初始值是100

Oracle資料庫之序列

序列是乙個計數器,它並不會與特定的表關聯。我們可以通過建立oracle序列和觸發器實現表的主鍵自增。序列的用途一般用來填充主鍵和計數。一 建立序列 語法結構 create sequence schema.sequence name integer 完整語法結構見 說明 schema 模式,即使用者名...

oracle資料庫 序列 sequence

乙個問題 在某張表中,存在乙個id列 整數 我們希望在新增記錄的時候,該列從1開始,自動的增長,怎麼處理?解決方式 oracle是利用 序列 sequence 來完成的。序列 sequence 介紹 oracle中,是通過使用序列 sequence 來處理自動增長列。1 可以為表中的列自動產生值。2...

Oracle資料庫的約束,序列,索引

約束 1 概念 也叫完整性約束條件。是資料表中的一些限制條件,當資料表中的資料發生變化時,必須遵循 這些限制條件,不遵循,不能進行dml操作。2 分類 1 非空約束 not null 簡稱un 2 唯一性約束 unique 簡稱uk 3 主鍵約束 primary key 簡稱pk 4 外來鍵約束 f...