剛剛用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)
個人覺得還是第二種方法好,筆記如果將來要維護的話,還是第二種修改的方便,而如果用了觸發器,那麼數據庫的變動勢必會受到觸發器的應用。