0

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

1 回答 1

2

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

id NUMBER PRIMARY KEY NOT NULL

因为PRIMARY KEY已经包含NOT NULL约束,所以

id NUMBER PRIMARY KEY

足够。

于 2012-08-30T03:50:48.147 回答