sql – 多个触发器与单个触发器
场景:
每次在表格中插入/更新/删除数据时,最多需要执行3项操作: >数据需要记录到单独的表中 不得更改数据库的体系结构和模式,并且必须使用触发器来完成要求. 题 哪个选项更好?: >每个操作(插入/更新/删除)的单个触发器,用于处理多个问题(日志,强制隐式参照完整性,并执行任意业务逻辑).此触发器可以命名为D_TableName(“D”表示删除). > D_TableName_Logging – 用于记录删除内容的日志 我更喜欢选项2,因为单个代码单元只有一个问题.我不是DBA,对SQL Server足够了解让我变得危险. 是否有任何令人信服的理由来处理单个触发器中的所有问题? 解决方法哇,你处于一个没有赢的局面.谁曾要求通过触发器完成所有这些工作应该被拍摄然后被解雇.通过触发器执行RI?您说过,不得更改数据库的体系结构和架构.但是,通过创建触发器,您至少可以更改数据库的模式,并且可以认为是架构. 我可能会使用选项#1并创建额外的存储过程和UDF来处理日志记录,BL和RI,以便代码不会在各个触发器中重复(触发器将调用这些存储过程和/或UDF).我真的不喜欢用你在方案2中提出的方式来命名触发器. 顺便说一下,请告诉你组织的某个人,这是疯了. RI不应通过触发器和业务逻辑强制执行,不属于数据库. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |