gpt4 book ai didi

sql-server - 插入/更新/删除的触发器是单个触发器还是多个触发器更好?

转载 作者:搜寻专家 更新时间:2023-10-30 20:05:46 24 4
gpt4 key购买 nike

我需要将插入/更新/删除操作从一个表镜像到另一个表。例如,必须将表 A 上的插入复制到表 B,对表 A 的更新应用到表 B,从表 A 删除应用到表 B。就这么简单,除了 tableB 有 1 个额外的列用于常量值,所以需要非常简单的触发器。

我不确定是编写 3 个单独的触发器更好,还是让一个触发器执行所有操作更好。

这适用于 3 个数据库:Sybase ASE、MSSQL 和 Oracle,我希望它的解决方案保持相似(所以要么 3 个用于所有数据库,要么 1 个用于所有数据库)。

3 个触发器还是 1 个触发器只是一个偏好问题,还是这两种解决方案都有实际好处?

最佳答案

假设您确实需要一个触发器,并且表 B 不能简单地定义为表 A 之上的 View ,或者表 B 不能仅使用引用 A 中的行以及常量的外键定义,那么不能重新定义 A 以添加附加列(可能具有常量的默认值),一个触发器至少可以让您将所有相关逻辑保存在一个地方,而不是在执行诸如添加之类的操作时需要更新多个地方A 的新专栏。但是我会非常警惕任何涉及两个不同表的体系结构,这些表反射(reflect)了两个表中基本相同的数据。这违反了规范化,它增加了系统的 I/O 工作负载,并使整个系统更加复杂。

关于sql-server - 插入/更新/删除的触发器是单个触发器还是多个触发器更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9639254/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com