今天发现了一个很奇怪的问题,在oracle的一张表里面有两个字段id,wrttime
这id字段从应用程序中每次SELECT MAX(ID) FROM 表名 然后+1插入到表中,wrttime字段每次插入时获取系统时间,
今天我在发现有这么几条记录
1 887255 2008-11-3 10:24:43
2 887257 2008-11-3 10:24:57
3 887259 2008-11-3 10:25:14
4 887260 2008-11-3 10:25:29
5 887261 2008-11-3 10:25:36
6 887263 2008-11-3 10:25:44
7 887256 2008-11-3 10:28:38
8 887258 2008-11-3 10:28:54
9 887262 2008-11-3 10:29:24
10 887264 2008-11-3 10:29:51其中id为887263的比887262早进入数据库...请教下高手..什么情况造成这个原因?
这id字段从应用程序中每次SELECT MAX(ID) FROM 表名 然后+1插入到表中,wrttime字段每次插入时获取系统时间,
今天我在发现有这么几条记录
1 887255 2008-11-3 10:24:43
2 887257 2008-11-3 10:24:57
3 887259 2008-11-3 10:25:14
4 887260 2008-11-3 10:25:29
5 887261 2008-11-3 10:25:36
6 887263 2008-11-3 10:25:44
7 887256 2008-11-3 10:28:38
8 887258 2008-11-3 10:28:54
9 887262 2008-11-3 10:29:24
10 887264 2008-11-3 10:29:51其中id为887263的比887262早进入数据库...请教下高手..什么情况造成这个原因?
解决方案 »
- 请教存储过程优化问题
- 小弟请问大家一个问题,请帮帮忙。关于Merge into语句的。
- 请教有关Oracle 9i RAC方面的问题
- 关于缺失逗号问题!
- 数据迁移 OLD SERVER DATA MOVE TO NEW SERVER
- ORA-01658: 无法为表空间 IX_CRM 中的段创建 INITIAL 区 什么错误?
- 急求OCI的封装类(VCKBASE上的OCIClass我已经有,这个不算)
- 大家来看一下这个错误吧,ORA-12638: 凭证检索失败!是什么错误!
- 求助,如何能查到一个表的主键?
- 怎么查看当前表空间的管理方式
- 触发器的问题,谢谢
- 关于大批量的业务处理和统计分析处理如何做好?
恩,有这种可能!
但是我把更详细的问题说明下,
出现这个问题的表称为表1,里面除了上面的id,wrttime两个字段外,还要插入其它的一些字段信息,这些信息来源于表2
应用程序在把表b2的这些字段取到后在选出表1的最大id连同这些信息一起插入表1,并在表2中有个计数的字段,如果表一中有一条记录,这个字段为1,依次类推:
其中今天有这样个问题
表1字段1 id wrttime
1000-2 887262 2008-11-3 10:29:24 表2
计数字段
2但是在表一中没有看见
类似于
字段1 id wrttime
1000-1 887261
这条记录,当第一次应用程序写入数据库是报错
提示unique constraint(数据库_pkid)violated;查看表1,id是索引.
但是如果第一次没写进去的话,表一中应该不会出现1000-2啊!计数字段也不会出现2啊!(相同的字段1进入表1时,依次1000-1,1000-2,1000-3.....,并且更新表2的计数字段)说明应用程序执行了两次insert,但是为什么看不见1000-1,1000-1因为什么问题而丢失了呢?因为初学oracle,所以不清楚哪方面的原因造成这个错误!~