講解Oracle數(shù)據(jù)庫自動(dòng)增長(zhǎng)列的實(shí)現(xiàn)過程
◆1.創(chuàng)建序列
-- Create sequence create sequence INNERIDminvalue 1maxvalue 99999999999999start with 1increment by 1cache 20order;
◆2.--INNERID.currval 指當(dāng)前序列
--INNERID.nextval 指下一個(gè)序列
insert into admin values (INNERID.nextval,'a');insert into admin values (INNERID.nextval,'b');insert into admin values (INNERID.nextval,'c');insert into admin values (INNERID.nextval,'d');create table admin(id varchar2(20),name varchar2(10));
--不斷的插入序列的下一個(gè)值.
◆3.創(chuàng)建觸發(fā)器(注:此處無法設(shè)置id的默認(rèn)值為INNERID.nextval )
CREATE OR REPLACE TRIGGER admin_tg--admin id 的觸發(fā)器BEFORE INSERT ON admin FOR EACH ROWBEGINSELECT INNERID.NEXTVAL INTO :NEW.id FROM DUAL;END;
測(cè)試語句如下:
insert into admin (username) values ( 'zdz');
成功插入數(shù)據(jù),再查看數(shù)據(jù),你可以發(fā)現(xiàn)id自動(dòng)增長(zhǎng)了,此問題至此解決!
