【发布时间】:2020-05-22 14:15:52
【问题描述】:
我有一个 sql 表(表 A),其中有一列名为“Number”。在触发器内部(我有一个 AFTER INSERT,UPDATE 触发器)我想将所有具有相同编号的记录移动到不同的表(比如表 B)
因此,如果它是一个插入,我想将所有具有该编号的记录移动到表 B,这样只有新记录存在于原始表(表 A)中。
如果是更新,我想将正在更新的记录复制到表 B(使用旧值)。
所以表 B 是一个历史表,其中包含所有以前的记录,表 A 的每个数字应该只有一个条目。
如果我需要另一个触发器,那很好。
感谢您的帮助。
【问题讨论】:
-
删除了呢?
-
必须是触发器吗?或者,您可以在用于表更新的 proc 中完成这项工作。您将在 proc 中提供您的键列,然后您可以在表 A 中的更改之前将所有受影响的记录从表 A 移动到表 B。只是一个想法。
-
记录永远不会被删除...只会更新或插入
标签: sql sql-server database-trigger