oracle错误代码

oZouBianBian 2013-03-17 09:56:22
我想请问下,oracle的错误代码,比如ORA-00001是不是在每个版本的数据库中都是恒定不变的呢, 我是想用这些东西来加入到程序中判断是否违反约束,这样做好不好 ,如果不好有没有更好的办法,当然我知道是可以自己写一个方法来判定,就是将那个字段全部读出来,看有没有包含新的要插入的值,但是这样做太消耗资源了。
...全文
110 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangxiaofei 2013-03-17
  • 打赏
  • 举报
回复
哦,这样.......这样的话,那我还是觉得数据库级别的判断要快于异常判断
oZouBianBian 2013-03-17
  • 打赏
  • 举报
回复
引用 3 楼 huangxiaofei 的回复:
所以我觉得比较好的办法是保证你insert的时候的key是唯一的,比如你可以在数据库里面建一个单独的计数表,然后每当要insert一条数据时,计数表就自动插入一条新记录,然后返回计数表的数据条数,用这个条数作为key,这样基本就能保证要插入的key是唯一的了
那不就是sequence,我不是要用这个字段做key呢,就是一个普通字段要唯一性
huangxiaofei 2013-03-17
  • 打赏
  • 举报
回复
所以我觉得比较好的办法是保证你insert的时候的key是唯一的,比如你可以在数据库里面建一个单独的计数表,然后每当要insert一条数据时,计数表就自动插入一条新记录,然后返回计数表的数据条数,用这个条数作为key,这样基本就能保证要插入的key是唯一的了
oZouBianBian 2013-03-17
  • 打赏
  • 举报
回复
引用 1 楼 huangxiaofei 的回复:
你是说做数据的唯一性约束是吧?一般来说在程序级别就应该保证插入的数据是有唯一键的,如果判断异常以后再修改,效率会不会比较低? 还有就是,你用SELECT COUNT(*)是不是等于0就能判断是不是新值,其实也不用全部字段读入再判断啊
确实没必要全部读出来,先前没想周全,但是这样也是要有一次数据库操作,那么这样select一次和insert一次去等错误哪个效率高些呢,因为如果没违反约束的话,就可以省去了select,违法的情况是小概率,但是数据量可就比较大了
huangxiaofei 2013-03-17
  • 打赏
  • 举报
回复
你是说做数据的唯一性约束是吧?一般来说在程序级别就应该保证插入的数据是有唯一键的,如果判断异常以后再修改,效率会不会比较低? 还有就是,你用SELECT COUNT(*)是不是等于0就能判断是不是新值,其实也不用全部字段读入再判断啊

62,612

社区成员

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

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