ORACLE的ORA-02289: 序列不存在问题

varlj 2015-06-09 04:58:35
没用过ORACLE,第一次使用,按网上查找的,建立了一个序列SEQ_FOR_ID做自增

使用Navicat工具连接,运行插入SQL
insert into mytable(ID) values(SEQ_FOR_ID.nextval);
一切正常

使用JAVA程序与插入,则显示ORA-02289: 序列不存在,什么情况?

我有尝试着让SEQ_FOR_ID.nextval与表中已有数据的ID重复,结果会显示“违反唯一性约束”,按这提示来说,貌似是找到了序列啊?

程序生成的SQL,在工具中直接运行,是正常的
序列的名字,大写,小写,加双引号都试过都是同样的结果
SELECT * from ALL_SEQUENCES
可以看到序列是正常的,OWNER和网站用的用户名是一致的
...全文
4155 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
egeong 2017-06-29
  • 打赏
  • 举报
回复
引用 4 楼 varlj 的回复:
我自己脑残了,低级错误
是什么错误呢,我也遇到一样的问题。在java里面就是查不出,但在数据库工具是可以查出来的。操作用户一样,大小写也区分了。偶尔还出现主键冲突等,请问楼主是怎么解决的?
佑母塘小强 2016-10-09
  • 打赏
  • 举报
回复
create sequence sqn_TableName minvalue 1 nomaxvalue increment by 1 start with 1 cache 20 noorder nocycle;
varlj 2015-06-11
  • 打赏
  • 举报
回复
我自己脑残了,低级错误
青春逝如流水 2015-06-10
  • 打赏
  • 举报
回复
为什么不贴出来执行插入的那句java代码呢
乱世丶桃花 2015-06-10
  • 打赏
  • 举报
回复
序列只代表一个序列,不能实现自增,实现自增还需要写个对应表的触发器,每次往表里添加数据时触发器执行,把序列值赋给表的ID实现自增
varlj 2015-06-10
  • 打赏
  • 举报
回复
顶下,大家帮忙看看

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧