为什么会出现“序列不存在”错误代码?

时间:2020-03-17 15:23:03

标签: oracle

试图了解为什么我在网上只能找到的唯一解决方案是我可能没有正确的特权(而不是这种情况)时为什么会不断收到此错误代码。

create table channelTable (
channelID number NOT NULL PRIMARY KEY,
channelName varchar(100) NOT NULL,
channelDate date NOT NULL,
userName varchar(100) NOT NULL UNIQUE,
topicCode varchar(2) NOT NULL,
CONSTRAINT c_topicCode check(substr(topicCode, 1, 1) not in ('I', 'O', 'Q', 'V', 'Y', 'Z') and regexp_like(topicCode, '^[A-Z]\d')));

序列

CREATE SEQUENCE seqChannel
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10;
INSERT INTO channelTable (channelID, ChannelName, ChannelDate, UserName, TopicCode)
VALUES (seqchannel1.nextval, 'Bob Loves Science', '03-FEB-2000', 'bob101', 'S1' );

错误代码

VALUES (seqchannel1.nextval, 'Bob Loves Science', '03-FEB-2000', 'bob101', 'S1' )
        *
ERROR at line 2:
ORA-02289: sequence does not exist

1 个答案:

答案 0 :(得分:1)

您使用了错误的序列名称。

您已经创建了名称为seqchannel的序列,并且在使用时,您使用的是1,其后的实际序列名称为seqchannel1

使用seqchannel.nextval

将其删除

干杯!