序列已创建但错误显示 RA-02289:序列不存在
sequence already created but error showing RA-02289: sequence does not exist
我在 ORACLE 10g 数据库中创建了一个序列
CREATE SEQUENCE "test_seq"
START WITH 1 INCREMENT BY 3
NOMAXVALUE NOMINVALUE NOORDER NOCYCLE NOCACHE;
我在数据库中也有一个 table 来使用这个序列
CREATE TABLE USER_TEST
(
U_NAME VARCHAR2 (100),
PWD VARCHAR2 (100),
SR_NO NUMBER
)
NOCACHE
LOGGING;
但是当使用
在 table 中插入值时
INSERT INTO USER_TEST VALUES( test_seq.NEXTVAL,'QWERTY','1QWE')
它给出以下错误
ORA-02289: sequence does not exist
我应该如何使用我的序列插入数据到我的table.If我没有使用序列插入命令完美工作。
您使用了错误的序列名称 test_req
而正确的名称是 test_seq
INSERT INTO USER_TEST VALUES('QWERTY','1QWE',"test_seq".NEXTVAL)
第二个错误是你的插入语句是错误的,因为你的列名没有指定,你的自动生成字段在列列表的最后,所以你必须在插入语句的最后指定test_seq.NEXTVAL
我在 ORACLE 10g 数据库中创建了一个序列
CREATE SEQUENCE "test_seq"
START WITH 1 INCREMENT BY 3
NOMAXVALUE NOMINVALUE NOORDER NOCYCLE NOCACHE;
我在数据库中也有一个 table 来使用这个序列
CREATE TABLE USER_TEST
(
U_NAME VARCHAR2 (100),
PWD VARCHAR2 (100),
SR_NO NUMBER
)
NOCACHE
LOGGING;
但是当使用
在 table 中插入值时INSERT INTO USER_TEST VALUES( test_seq.NEXTVAL,'QWERTY','1QWE')
它给出以下错误
ORA-02289: sequence does not exist
我应该如何使用我的序列插入数据到我的table.If我没有使用序列插入命令完美工作。
您使用了错误的序列名称 test_req
而正确的名称是 test_seq
INSERT INTO USER_TEST VALUES('QWERTY','1QWE',"test_seq".NEXTVAL)
第二个错误是你的插入语句是错误的,因为你的列名没有指定,你的自动生成字段在列列表的最后,所以你必须在插入语句的最后指定test_seq.NEXTVAL