Oracle實現列的自動增長

2021-07-04 15:52:22 字數 849 閱讀 3973

1、建立表

create table te(t_id number,t_name varchar(20));

表中有兩個字段,分別是t_id、t_name,型別為number和varchar

2、建立序列

create sequence teid ——teid為建立的序列的名稱

increment by 1 ——設定每次增長1

start with 1 ——從1開始

nomaxvalue ——沒有最大值

nominvalue ——沒有最小值

nocache ——不使用快取

建立序列之後就可以實現自動增長,不過不太智慧型

測試:

insert into te(t_id,t_name) values(teid.nextval,』liu』);

如果使用這種方法,就不要再建立觸發器了

3、建立觸發器

create or replace trigger t_teid ——t_teid是建立的觸發器的名稱

before insert on te for each row ——te是應用觸發器的表名

begin

select teid.nextval into :new.t_id from dual;——teid是建立的序列 的名稱,t_id是te表中設定自增長的列名

end;

4、測試

insert into te(t_name) values(『zhang』);——插入一行,t_id自動增長,t_name為』zhang』

注:如果建立了觸發器,就不要再使用序列方式增長,否則會出現隔斷,就比如前面到3,用序列插入就會直接到5

ORACLE裡設定列自動增長

在oracle裡建立列自動增長步驟如下 1 首先建立乙個表,例如 create table department department id number department name varchar2 30 not null enable,manager id number 6 0 locati...

在oracle中實現自動增長的列號(例子

這是乙個簡單的例子,不過已經能夠表示如何實現這類功能了。1 在scott使用者下建立表dept 其實oracle預設安裝就已經生成了 create table dept deptno number 2 not null,dname varchar2 14 loc varchar2 13 2 建立乙個...

oracle實現自動增長列

2008 01 31 15 53 sequence 首先使用者要有create sequence或者create any sequence許可權.然後使用下面命令生成sequence物件 create sequence emp sequence increment by 1 每次加幾個 start ...