-1

我有 2 张桌子:productUnproveProduct

插入产品时,必须为该新产品插入一行到UnprovedProduct.

哪种解决方案更好,为什么?

  1. 插入后创建触发器Product
  2. 在插入一行时的过程中,Product然后也插入一行UnprovedProduct
4

2 回答 2

1

这是触发器的完美用途。触发器并不那么神秘,也不难预测。它们只是一个工具,它们遵循非常具体的规则。在这种情况下,触发器会在插入记录后立即运行。

您可以扩展插入过程,但下一个人不会使用它,并且您的记录将无法正确插入。

CREATE TRIGGER Insert_UnProvedProduct ON Product AFTER INSERT AS BEGIN

INSERT INTO UnProvedProduct (field1, field2, field3) 选择 field1, field2, field3 FROM INSERTED

结尾

于 2014-11-04T19:31:19.377 回答
1

我会选择#2。

为什么?

  • 触发器是出了名的烦人,而且往往会导致意想不到的问题——一方面,你无法真正控制它们被触发的方式和时间......

  • 如果您已经一个插入数据的过程Products- 只需扩展它并同时添加行UnprovedProduct。您可以更好地控制您在过程中所做的事情(与触发器相比)

于 2012-06-07T15:07:47.107 回答