Oracle11g 使用此脚本后,是否仍必须插入id值?

Oracle11g 使用此脚本后,是否仍必须插入id值?,oracle11g,Oracle11g,我下面有一个脚本-我不知道它是否会产生与自动增量相同的效果。当我开始向数据库中插入行时,我不想插入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 tr

我下面有一个脚本-我不知道它是否会产生与自动增量相同的效果。当我开始向数据库中插入行时,我不想插入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;
/

是的,它会工作,除了你不必使用

id NUMBER PRIMARY KEY NOT NULL
因为
主键
已经包含
notnull
约束,所以

id NUMBER PRIMARY KEY
够了