相关疑难解决方法(0)

忽略Oracle DUP_VAL_ON_INDEX异常有多糟糕?

如果用户至少查看过一次对象,我有一张表正在录制,因此:

 HasViewed
     ObjectID  number (FK to Object table)
     UserId    number (FK to Users table)
Run Code Online (Sandbox Code Playgroud)

两个字段都不是NULL,并且一起形成主键.

我的问题是,因为我不关心有人看过一个对象多少次(在第一次之后),我有两个处理插入的选项.

  • 执行SELECT计数(*)...如果未找到任何记录,请插入新记录.
  • 总是只插入一条记录,如果它抛出DUP_VAL_ON_INDEX异常(表明已有这样的记录),就忽略它.

选择第二种选择的缺点是什么?

更新:

我想最好的方法是:"异常引起的开销是否比初始选择引起的开销更糟?"

sql oracle plsql exception

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

exception ×1

oracle ×1

plsql ×1

sql ×1