ORACLE數據庫是甲骨文公司的一款關系數據庫管理系統。
實現主鍵自動增長需要四個步驟:
1.創建表格(必須有主鍵)
-- 創建學生表(student)主鍵為:s_id CREATE TABLE student( s_id NUMBER(10) NOT NULL PRIMARY KEY ,-- 主鍵列 s_id s_name VARCHAR2(50), -- 學生姓名 s_name s_age NUMBER(8) -- 學生年齡 s_age );
2.創建自增序列
-- 創建自增序列(seq_student) CREATE SEQUENCE seq_student INCREMENT BY 1 --每次增加1,可以寫非0的任何整數 START WITH 1 -- 從1開始(起始值) MAXVALUE 999 -- 設置最大值:設置為 NOMAXVALUE 表示無最大值 MINVALUE 1 -- 設置最小值 NOCYCLE -- 不循環一直增加 CACHE 20; -- 設置20個緩存,不使用緩存則寫 NOCACHE
到這一步就可以使用了,不過使用的時候必須按格式調用
格式:自增序列的名字.nextval (我這里的序列名為 seq_student )
insert into student values (seq_student.nextval,'李四',28);
3.創建觸發器(插入數據時觸發)
create trigger tri_student_ins --每個觸發器名不可一樣 before insert on student for each row when (new.s_id is null) --student:換為自己的表名;s_id 換為自己的主鍵名 begin select seq_student.nextval into:new.s_id from dual; -- seq_student:換為上一步創建的自增序列名;s_id 換為主鍵名 end;
4.插入數據測試
insert into student values (DEFAULT,'測試',28);
注意點:
1.創建表格時:必須有主鍵!
2.創建自增序列時:序列名不要太復雜,id自增根據功能靈活變通!
3.創建觸發器時:根據自己的表名,主鍵名,序列名更換需要更換的位置