Oracle数据库表插入

1 oracle insert auto-increment oracle10g

我有两张桌子:

create table Number( num number(5));

create table Entry(id number(3), name varchar(50));
Run Code Online (Sandbox Code Playgroud)

每当我在Entry表中插入内容时,如何在Oracle中增加Number表的num字段?

Eri*_*ler 8

你应该用一个SEQUENCE代替."Number"表本身就是一个坏主意,因为当两个会话同时插入行时,每个会话只能看到Number表中的未提交值.

这是你应该做的事情:

create sequence entrySeq;

create table Entry(id number(3), name varchar(50));

create trigger tr_entry before insert on Entry for each row
begin
  select entrySeq.nextval into :new.number from dual;
end;
/
Run Code Online (Sandbox Code Playgroud)