论坛首页 入门讨论版 企业应用

请问我向Oracle中插入系统时间问题

浏览 1025 次
该帖已经被评为新手帖
作者 正文
最后更新时间:2007-09-10 关键字: java oracle

我插入时间 为  :insert into t values( sysdate,....);

DBA设计的表不含唯一主键 用了联合主键. 插入数据有时会有错,就是插入数据可能相同,那么可以让插入的时间唯一吗,请问怎么插,可以使时间不重复

 

   
最后更新时间:2007-09-11
用时间做联合主键? 设计有问题吧?
如果时间精度是毫秒级,不是大批量插入的情况,重复的可能性不大,但是不能100%保证。

绕过这个问题其实也简单,检测到插入异常后,重复再插入一次,时间值肯定变了,不过批量环境可能影响性能。
   
0 请登录后投票
最后更新时间:2007-09-12
insert into t values( sysdate,....);
这个假设你是2个主键
就这样
insert into t values(sysdate,sysdate + interval '1' SECOND)

如果主键还多,第三个主键就加上2秒,往下推
   
0 请登录后投票
最后更新时间:2007-09-13
还是有个seq的主键好啊
   
0 请登录后投票
最后更新时间:2007-09-13
sysdate是精確到秒的
   
0 请登录后投票
最后更新时间:2007-09-14
不是精确到秒吧,就是批处理时,同时插入数据会出现问题,呵呵!不过问题解决了,新增了序列,这样查询的时候也快啊,谢谢大家
   
0 请登录后投票
最后更新时间:2007-09-14
你自己去試好了
我用的是oracle數據庫
sysdate插入的  毫秒數全為 00000
   
0 请登录后投票
论坛首页 入门讨论版 企业应用

跳转论坛:
JavaEye推荐