Oracle建立表ID欄位關聯序列

2021-09-01 01:34:42 字數 1150 閱讀 5737

--建立測試表 

create   table   msct_test 

( user_id           number(10), 

user_name       varchar2(32) 

) / 

--建立序列 

create   sequence   mscs_test 

increment   by   1 

start   with   0 

minvalue   0 

maxvalue   100000000 

nocycle 

noorder 

cache   20 

/ --建立觸發器 

create   or   replace   trigger   insert_mscs_test 

before   insert   

on   msct_test 

referencing   new   as   new   old   as   old 

for   each   row 

begin 

select   mscs_test.nextval   into   :new.user_id   from   dual; 

end; 

/ --測試資料 

insert   into   msct_test(user_name)   values( 'bushi '); 

insert   into   msct_test(user_name)   values( 'kelindun '); 

insert   into   msct_test(user_name)   values( 'billgates '); 

--檢查結果 

sql>   select   *   from   msct_test; 

user_id   user_name 

----------   -------------------------------- 

0   bushi 

1   kelindun 

2   billgates 

--注意 

--(1)如果你刪除了其中一條或多條記錄甚至所有記錄,由於使用的是序列,已經使用過的id將不會被重新使用。 

Oracle 建立關聯表

create table dept deptno number 10 not null,deptname varchar2 30 not null,constraint pk dept primary key deptno 和create table emp empno number 10 not ...

Oracle資料庫建立表ID欄位的自動遞增

將表t uaer的字段id設定為 自增 用序列sequence的方法來實現 建立表create table t user id number 6 userid varchar2 20 loginpassword varchar2 20 isdisable number 6 建立序列 create s...

Oracle資料庫建立表ID欄位的自動遞增

將表t uaer的字段id設定為自增 用序列sequence的方法來實現 建立表 create table t user id number 6 userid varchar2 20 loginpassword varchar2 20 isdisable number 6 建立序列 create s...