下面用一個例子來說明自增主鍵的創建:
1、建用戶數據表
drop table dectuser;
create table dectuser(
userid integer primary key, /*主鍵,自動增加*/
name varchar2(20),
sex varchar2(2)
);
2、創建自動增長序列
drop sequence dectuser_tb_seq;
create sequence dectuser_tb_seq minvalue 1 maxvalue 99999999
increment by 1
start with 1; /*步長為1*/
3、創建觸發器
create or replace trigger dectuser_tb_tri
before insert on dectuser /*觸發條件:當向表dectuser執行插入操作時觸發此觸發器*/
for each row /*對每一行都檢測是否觸發*/
begin /*觸發器開始*/
select dectuser_tb_seq.nextval into :new.userid from dual; /*觸發器主題內容,即觸發后執行的動作,在此是取得序列dectuser_tb_seq的下一個值插入到表dectuser中的userid字段中*/
end;
/ /*退出sqlplus行編輯*/
4、提交
commit;
現在就完成了自增主鍵的設定,搞定!可以檢測一下。
insert into dectuser(name,sex) values ('wang','女');
提示“已創建一行”,表示成功。呵呵:D
要注意的是主鍵數據類型如果為number,則觸發器創建不了,還不明白這是為什么:(
posted on 2008-04-13 16:37
綠茶 閱讀(16981)
評論(2) 編輯 收藏 所屬分類:
DataBase