当前位置: 首页 > 面试题库 >

序列不存在ORA-02289

仲孙思源
2023-03-14
问题内容

我在获取SEQUENCE时遇到问题。我已经以管理员身份创建了一个序列,并向其他用户授予了选择和更改特权。

CREATE SEQUENCE  "OWNER"."TOT_SEQ"  MINVALUE 1000 MAXVALUE 1000000000 INCREMENT BY 1 START WITH 1000 CACHE 20 NOORDER  NOCYCLE ;

grant select,ALTER on TOT_SEQ to user;
commit;

当我这样做时:

select sequence_name from all_sequences;

TOT_SEQ

我可以在列表中看到我的SEQUENCE。

但是我无法访问代码中的序列。使用 :

select <SEQUNCE_name>.nextval from dual;

我究竟做错了什么?


问题答案:

您将必须通过以下方式完全限定您的顺序:

SELECT <owner>.<sequence name>.nextval FROM dual;

或为其创建公共同义词:

CREATE PUBLIC SYNONYM TOT_SEQ for OWNER.TOT_SEQ;
SELECT TOT_SEQ.nexval FROM DUAL;


 类似资料:
  • 问题内容: 我尝试在spring版本的项目中将hibernate模式从4升级到5 。升级之后,调用更新方法时,在堆栈跟踪中发现以下错误。 我用注解更改了自动递增的ID 错误仍然存​​在。 问题答案: 您需要设置Hibernate5.x ..参见并链接。 对于较早版本的hibernate 4.x:

  • 问题内容: 我启动oracle时遇到此错误。我检查了Oracle Home和SID。一切设置正确。 ORA-27101:共享内存领域不存在 请帮助我找出解决方案。提前致谢 问题答案: 该错误通常表示没有Oracle实例(进程)可连接。有人需要登录并启动实例。

  • 我尝试使用检查序列是否存在于Postgres(plpgsql)中的代码。 如果序列不存在,则创建序列。运行此代码两次会导致异常: 序列...已经存在了。 如何只在序列不存在的情况下创建序列? 如果序列不存在,就不会写入消息,也不会发生错误,所以我不能在这个问题的另一个答案中使用存储过程,因为如果序列存在,它每次都会将消息写入日志文件。

  • 问题内容: 想知道是否有人可以通过此查询为我提供一些帮助: 我只想得到计数(已重命名)等于1的结果。此查询出现错误: 但是该列 应该 存在,对吗?有人可以协助吗?谢谢! 问题答案: 您不能在WHERE子句中引用列别名。 在传统SQL中,最早可以引用列别名的是子句。但是MySQL和SQL Server允许在and子句中进行访问。

  • 嗨,我在java代码中执行这个查询,它告诉我 组织。postgresql。util。PSQLException:错误:“st_srid”列不存在 但是,当我直接在pgAdmin中运行它时,它会显示列和其中的值。 以下是我的查询: 谢谢你的帮助

  • 我已经能够将PostgreSQL链接到Java。我已经能够显示表中的所有记录,但我无法执行删除操作。 下面是我的代码: 请注意,MAC是一个字符串字段,用大写字母书写。表中确实存在此字段。 我得到的错误是: 严重:错误:“Mac”列不存在