用sql结果创建序列

时间:2017-05-15 16:44:07

标签: sql oracle

我有一个像这样的序列

begin
 if :new."ID" is null then
     select to_number(sys_guid(),'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') into :new.id from dual;
  end if;

有没有办法将ID设置为表格中的下一个即将到来的ID?

例如:

如果我当前的最后一行ID为5

我希望new.id为6,所以当INSERT执行时它的ID为6

1 个答案:

答案 0 :(得分:1)

IDENTITY 现在可以在Oracle 12c上使用该列:

create table t1 (
    id NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1),
    info VARCHAR2(10)
    );