dkr*_*etz 4 triggers anti-patterns last-modified
我一直看到浮动的问题,引用了名为DateLastUpdated的数据库表中的列.我不明白.
我见过的唯一伴侣字段是LastUpdateUserId等.从来没有关于更新发生原因的指标; 甚至是更新的内容.
最重要的是,此字段有时是在触发器内写入的,其中可用的上下文更少.
它当然甚至没有接近成为审计线索; 所以这不能成为理由.如果有是在日志或任何与审计线索的地方,这一领域将是多余的.
我错过了什么?为什么这种模式如此受欢迎?
这样的字段可用于检测是否存在由不同进程进行的冲突编辑.从数据库中检索记录时,将获得以前的DateLastUpdated字段.更改其他字段后,将记录提交回数据库层.数据库层检查您提交的DateLastUpdated是否与仍在数据库中的DateLastUpdated 匹配.如果匹配,则执行更新(并将DateLastUpdated更新为当前时间).但是,如果它不匹配,则其他一些进程在此期间更改了记录,并且可以中止当前更新.