Bur*_*Ali 5 sql oracle oracle11g
在工作中,我们有一个表来保存设置,其中包含以下列:
PARAMNAMEVALUE大多数情况下会添加新设置,但在极少数情况下会删除设置.不幸的是,这意味着任何先前可能已更新此值的脚本将继续这样做,尽管更新会导致" 0 rows updated"并导致意外行为.
最近通过回归测试失败发现了这种情况,但只是在对系统中的数据为何不同进行大量调查之后.
所以我的问题是:当更新导致零行更新时,有没有办法生成错误条件?
以下是我想到的一些选项,但它们都不是真正令人满意的:
并不是真正的解决方案,而是一种组织事情的方法:
使用参数定义创建一个单独的表,并从参数值表链接到该表。引用所需的参数定义(不允许为空)。
定义表PARAMS (ID, NAME)
实际设置表 PARAM_VALUES (PARAM_ID, VALUE)
(改变你的表结构也是一个非常有效的方法来引发尚未更新的脚本中的错误......)