以前在使用mysql 和sql server時,他們都有自增欄位設定的關鍵字,在建立表時一併建立。現在使用oracle發現沒有自增字段這樣的功能,可以通過觸發器trigger和序列sequence來實現:
先建乙個測試表:
create table scott.tablename
( id number(6) not null,
name varchar2(30) not null primary key
)第一步:建立sequence
create sequence seqname
increment by 1
start with 1
minvalue 1
maxvalue 9999999999999
nocache order;
第二步:建立乙個基於該錶的before insert 觸發器,在觸發器中使用剛建立的sequence
create or replace triggertriggername
before insert on scott.tablename
for each row
begin
select
seqname
.nextval into:new.id from sys.dual ;
end;
第三步:在tablename表中測試
insert into scott.tablename (name) values ('wang');
oracle怎麼設定自增字段
問題平常我們在mysql中,只需要加上auto increment就可以設定自增字段 但是在oracle中並沒有auto increment關鍵字,那我們要怎麼設定自增字段呢?oracle序列 sequence使用方法 建立乙個序列 create sequence autonum 剛建立出來是是沒有...
oracle自增字段
在oracle中sequence就是所謂的序列號,每次取的時候它會自動增加,一般用在需要按序列號排序的地方。1 create sequence 你首先要有create sequence或者create any sequence許可權,create sequence emp sequence incr...
oracle自增字段
sqlserver 和mysql都有自增長的功能,但是oracle必須結合sequence序列 觸發器才能夠實現自動增長 1 create table table name id number,name varchar2 50 2 create sequence sequence name minv...