⑴ oracle如何實現插如記錄時ID自增
sql server中的ID是系統設定的,當我們插入數據時他會自己增加,但oracle沒有,需要我們自己添加欄位ID,由於ID設置成NOT NULL,插入資料庫時就會失敗,這樣就需要插入資料庫時實現這條記錄ID自己自動增加,自己搜了一下,具體方法如下 假如將表li_line_fence
sql server中的ID是系統設定的,當我們插入數據時他會自己增加,但oracle沒有,需要我們自己添加欄位ID,由於ID設置成NOT NULL,插入資料庫時就會失敗,這樣就需要插入資料庫時實現這條記錄ID自己自動增加,自己搜了一下,具體方法如下
假如將表li_line_fence的fenceid欄位設置成了ID,那麼就需要插入記錄時自增
1.首先建立一個序列:
create sequence seq_atable minvalue 1 maxvalue 9999999 start with 1 increment by 1 nocache
2.建立一個觸發器:
create or replace trigger trg_atable before insert on li_line_fence for each row
begin
select seq_atable.nextval into :new.fenceid from al;
end;
這個觸發器是對inset動作的觸發,into後面的new.fenceid是向新記錄的fenceid欄位自動按照序列中定義的插入值,這樣就自動的插入值了