剛剛用orcle,組長讓我設計一張表,結果設計完了以後就在PLSQL設計主鍵ID,因為如果不用自增列的話就得用復合主鍵,所以就想著用ID的自增列來表示。可是他和SQL Server又有點不太一樣,他沒又自增列。所以在網上查了一下,兩種方法。
首先先創建一張測試表t_demo
create table t_demo ( id number(20) primary key, username varchar2(20) )
create sequence demo_seq increment by 1 --增幅為1 start with 1 --從1開始 minvalue 1 maxvalue 9999999999999 --最大值 nocache --不需要緩存 order; 排序
create or replace trigger userlogin_trigger before insert on usertest for each row begin select test_seq.nextval into:new.id from sys.dual ; end;
測試,插入一條記錄,看看有沒有自增。
直接用SQL語句和dequence來實現。
insert into t_demo(id,username) values(test_seq.nextval, menghaibin)
個人覺得還是第二種方法好,筆記如果將來要維護的話,還是第二種修改的方便,而如果用了觸發器,那麼數據庫的變動勢必會受到觸發器的應用。