2012-08-30 50 views
0

我在下面有一個腳本 - 我不知道它是否會產生與自動增量相同的效果。當我開始向我的數據庫插入行時,我不想插入該ID。我希望數據庫能夠在插入非id行時自動生成並插入它們。使用這個腳本後,我仍然需要插入id值嗎?

CREATE TABLE myschema.mytable 
(id NUMBER PRIMARY KEY NOT NULL, 
name VARCHAR2(30)); 

CREATE SEQUENCE myschema.test1_sequence 
START WITH 1 
INCREMENT BY 1; 

create or replace trigger myschema.auto_increment 
before insert on myschema.mytable 
for each row 
begin 
select test1_sequence.nextval into :new.id from dual; 
end; 
/

回答

2

是的,它會工作,但你不必使用

id NUMBER PRIMARY KEY NOT NULL 

因爲PRIMARY KEY已經包含了NOT NULL約束,所以

id NUMBER PRIMARY KEY 

就足夠了。

相關問題