Oracle建立表設定自動增長列範例

2021-08-25 18:04:07 字數 1054 閱讀 4038

1、建立乙個使用者表t_sys_user,其中有id,login_name,login_pwd三個字段,id為自動增長列:

create table t_sys_user

( id number(6) not null primary key,

login_name varchar2(50) not null,

login_pwd varchar2(50) not null

);

2、建立序列:

create sequence seq_user

increment by 1 --指定序列號之間的間隔,該值可為正的或負的整數,但不可為0。序列為公升序。忽略該子句時,預設值為1。

start with 1 --指定生成的第乙個序列號。在公升序時,序列可從比最小值大的值開始,預設值為序列的最小值。對於降序,序列可由比最大值小的值開始,預設值為序列的最大值。

maxvalue 9999 --指定序列可生成的最大值。

cycle nocache --一直累加,不迴圈

3、建立觸發器:

create or replace trigger tri_user

before insert on t_sys_user for each row

begin

select seq_user.nextval into:new.id from dual; --這裡是最容易出錯的地方

end;

/

4、測試:

insert into t_sys_user (login_name,login_pwd) values ('zhanggc','123456');
5、更改序列:

create sequence seq_user

increment by 1

start with 1

maxvalue 9999

cycle nocache

oracle欄位自動增長設定

oracle資料庫的字段無法在建表的時候通過屬性設定自動增長,因此主鍵多為生成的uuid或guid,如果需要設定自動增長的主鍵,則需要借助觸發器來實現。sequences,可翻譯成一組某某事務,在oracle中sequences通常配合觸發器來使用,這裡我們把它翻譯成序列。首先建立sequences...

oracle建立自動增長字段

oracle資料庫與其他的資料庫不太一樣,比如在mysql裡自動增長只要設定 auto increment 即可。可是在oracle裡就麻煩了。本文就說說在oracle裡建立自動增長的字段。sql create table createtableuserinfo id number not null...

oracle建立自動增長字段

oracle資料庫與其他的資料庫不太一樣,比如在mysql裡自動增長只要設定 auto increment 即可。可是在oracle裡就麻煩了。本文就說說在oracle裡建立自動增長的字段。create table create table userinfo id number not null u...