论坛首页 入门技术论坛

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

浏览 4931 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-09-10  

我插入时间 为  :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 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics