使用Oracle SQL插入具有增加的数字ID(例如rownum)的行?

时间:2016-01-27 15:54:48

标签: sql oracle

我想使用Oracle SQL将新行插入到表中,其中一个字段只需要是唯一的,例如只是rownum值。但是这个陈述不起作用:

insert into MYTABLE ( ID_, INDEX_, TYPE_, SOMEVALUE_  ) values ( "FOOBAR", rownum, 1, 999 );

这将导致错误消息:

00976. 00000 -  "Specified pseudocolumn or operator not allowed here."
*Cause:    LEVEL, PRIOR, ROWNUM, CONNECT_BY_ROOT, CONNECT_BY_ISLEAF or
           CONNECT_BY_ISCYCLE was specified at an illegal location.

如果不能使用rownum,我愿意接受有效的替代解决方案。

1 个答案:

答案 0 :(得分:3)

这里需要的是创建find

关注SEQUENCE创建和使用文档here

例如,您可以创建SEQUENCE,如:

SEQUENCE

然后你可以这样做:

CREATE SEQUENCE mytable_sq
 START WITH     1
 INCREMENT BY   1
 NOCACHE
 NOCYCLE;