1

我在 ORACLE 10g 数据库中创建了一个序列

CREATE SEQUENCE "test_seq" 
START WITH 1 INCREMENT BY 3 
NOMAXVALUE NOMINVALUE NOORDER NOCYCLE NOCACHE;

我在数据库中也有一个表来使用这个序列

CREATE TABLE USER_TEST
(
   U_NAME   VARCHAR2 (100),
   PWD      VARCHAR2 (100),
   SR_NO    NUMBER
)
NOCACHE
LOGGING;

但是当使用在表中插入值时

INSERT INTO USER_TEST VALUES( test_seq.NEXTVAL,'QWERTY','1QWE')

它给出以下错误

ORA-02289: 序列不存在

我应该怎么做才能使用我的序列将数据插入到我的表中。如果我不使用序列插入命令可以完美地工作。

4

1 回答 1

3

您使用了错误的 seq 名称test_req,而正确的名称是test_seq

INSERT INTO USER_TEST VALUES('QWERTY','1QWE',"test_seq".NEXTVAL) 

第二个错误是您的插入语句是错误的,因为您的列名未指定,并且您的自动生成字段位于列列表的最后,因此您必须test_seq.NEXTVAL在插入语句的最后指定

见工作小提琴

于 2015-06-15T18:43:47.053 回答