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