oracle建立自動增長列 觸發器

2021-08-15 21:55:42 字數 895 閱讀 5039

建立自動增長列:

create sequence emp_sequence

increment by 1----每次增加幾個

minvalue 1----最小值為1

nomaxvalue----不限制最大值

start with 1----從1開始

cache 10----快取

order;

註解:currval=返回 sequence的當前值 

nextval=增加sequence的值,然後返回 sequence 值 

比如: 

emp_sequence.currval

emp_sequence.nextval

插入測試資料:

insert into sysrole (roleid,rolename,roledesc) values (emp_sequence.nextval,'管理員','擁有本系統的最高許可權')

建立觸發器:

create or replace trigger sysrole_id

before insert on sysrole----(sysrole為表名)

for each row----觸發每一行

begin

select emp_sequence.nextval into :new.roleid from dual;

end;

插入測試資料:

insert into sysrole (rolename,roledesc) values ('法律管理員','管理本系統中所有的法律、法規資訊及法律、法規會員')

最後:commit---提交所有操作

ORACLE的自動增長列

關於oracle自動增長列 sqlserver2000有自動增長 create sequence seq tab g increment by 1 start with 1 maxvalue 9999999 minvalue 1 建立序列 seq tab g.currval 指當前序列 seq ta...

oracle實現自動增長列

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

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

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