oracle数据库中could not get next sequence value的解决
在使用hibernate保存数据的时候,出现了could not get next sequence value这个错误,这个错误的意思就是找不到序列中的下一个值。解决这个问题具体按如下分析:
1.确定主键生成策略
找到相应的表的主键generator class类别,具体到相应的表的.hbm.xml文件中找,然后可以看看我的另一篇文章,判断它用到的主键策略类别是否需要指明sequence。如果需要指明sequence的话,你去.hbm.xml文件中查看它是否指明了使用的是哪个sequence.
查看generator class类别:
查看是否指明sequence:
2.如果指明了sequence
如果指明了sequence,就用sqlplus /as sysdba登录oracle数据库(sqlplus中登录),然后查看该用户下是否存在该指明的sequence。
select sequence_name,min_value,max_value,increment_by,last_number from all_sequences where sequence_owner='用户名'.
查看是否有该sequence,如果没有sequence,则需要到相应的用户下的创建该sequence。
但是,如果该数据表中已经有值的话,还是会出现上面那个问题,因为sequence的CURRVAL值可能不符合next value,因为新建的
sequence的CURRVAL值是0,而实际中,由于已经存在数据,所以可能需要CURRVAL的值为某个特定值开始。解决这个问题的方法就是先在数据库中不停的调用sequence.NEXTRVAL,使得它的CURRVAL值符合要求。
3.如果未指明sequence
sequence的CURRVAL值是0,而实际中,由于已经存在数据,所以可能需要CURRVAL的值为某个特定值开始。解决这个问题的方法就是先在数据库中不停的调用sequence.NEXTRVAL,使得它的CURRVAL值符合要求。
oracle数据库中could not get next sequence value的解决相关推荐
- Oracle数据库中序列(SEQUENCE)的用法详解
http://database.51cto.com/art/201108/280742.htm 在Oracle数据库中,什么是序列呢?它的用途是什么?序列(SEQUENCE)其实是序列号生成器,可以为 ...
- 导出Windows服务器下的Oracle数据库并导入到Linux服务器下的Oracle数据库中
2019独角兽企业重金招聘Python工程师标准>>> 说明: 1.Windows Oracle数据库 操作系统:Windows Server 2008 R2 IP地址:192.16 ...
- oracle中md5算法,oracle数据库中存储过程使用MD5算法加密
一.技术点 1. DBMS_OBFUSCATION_TOOLKIT.MD5 DBMS_OBFUSCATION_TOOLKIT.MD5是MD5编码的数据包函数,但偶在使用select DBMS_OBFU ...
- oracle中call用法,Oracle数据库中 call 和 exec的区别
Oracle数据库中 call 和 exec的区别 今天发现了一个小东西,觉得很有意思,查找了一些资料,跟大家分享一下: 在sqlplus中: 在第三方提供的工具(如:plsqldev) 总结: ex ...
- oracle数据库序列码,oracle 数据库中的序列
序列是什么,通俗点说,序列就是按照一定顺序进行排列,序列会自动给你递增,生成唯一的序列号: oracle数据库不同于sqlServer数据库,oracle数据库中是没有自增长列,使用的是sequenc ...
- Oracle数据库中的同义词,数据库链接和序列
目录 1.同义词 (1)可视化方法创建同义词 (2)命令方式创建同义词 (3)删除同义词 2.数据库链接 (1)可视化方式创建 (2)使用命令方式 (3)为远程数据库的表创建同义词 (4)删除数据库链 ...
- 一起ORACLE数据库中数据查询结果不一致问题的排查过程
一.问题描述 在某软件开发项目中,需要在ORACLE数据库中建立十张类型相同的员工信息表tb_employeeinfo0~tb_employeeinfo9,并建立向这十张表中插入数据的存储过程.ORA ...
- 批量插入数据库语句java_java相关:MyBatis批量插入数据到Oracle数据库中的两种方式(实例代码)...
java相关:MyBatis批量插入数据到Oracle数据库中的两种方式(实例代码) 发布于 2020-7-22| 复制链接 本文通过实例代码给大家分享了MyBatis批量插入数据到Oracle数据库 ...
- 如何从Oracle数据库中的表中获取列名(字段名)列表?
如何从Oracle数据库中的表中获取列名(字段名)列表? 目录 如何从Oracle数据库中的表中获取列名(字段名)列表? #示例一 #示例二 示例三: #示例一 可以获取: table_name:表名 ...
最新文章
- vn.py 2.0.2 发布,全功能交易程序开发框架
- 开源论坛程序 vBulletin 被曝严重且详情不明的漏洞,请立即修复
- mysql去掉重复数据只保留一条,以及取分组后的一条数据
- 2016年9月16日-乔任梁逝世,陈乔恩发文悼念
- 网站被黑的10大原因
- ROS2初学者教程(Dashing和Eloquent)Windows
- Vue日历的编写,可显示周和月的模式(其中可以自定义日历里内容的显示)
- 2012年真的是世界末日吗?_全球关注
- IP-Guard如何注册
- java spring常见问题
- Error: This old version of 'S8051.DLL' is incompatibl 解决办法
- GDA 和logistic回归的联系
- 抖音最后一面,问我Java 是如何实现线程间通信的?
- 双数据率四线外设接口(Double Transfer Rate Quad Peripheral Interface, DTR QPI)
- Vue-Router路由重复点击报错
- 三相逆变器并联--下垂控制
- junction工具安装及简单使用
- 10天用Flutter撸了个高仿携程App,含小米、腾讯、阿里
- 红米1线刷救砖教程V5版(移动联通适用,线刷包永久有效)
- 高德地图获取行政区域以及中心点
热门文章
- mysql中delete from in子查询删除失败
- 徐扬:互联网营销下的移动营销
- mac下配置android sdk环境 安装eclipse
- CS-- WebService、 windowsService
- EBGP邻居抖动问题
- 使用 Caddy 替代 Nginx,全站升级 https,配置更加简单
- 前端图片压缩上传(纯js的质量压缩,非长宽压缩)
- OSPF——DR及BDR详解
- android将字符串中间几个字用*代替,【Android技巧之相见恨晚系列】-TextView/string.xml冷门小技巧:占位转换符%1$s、%1$d等的用法...
- net core 3.1 跨域 Cors 找不到 “Access-Control-Allow-Origin”