2012-08-30 29 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 

就足够了。

相关问题