我有2个表:product
和UnproveProduct
插入产品时,必须为新产品插入一行UnprovedProduct
。
哪种解决方案更好,为什么?
Product
Product
时的过程中,然后在UnprovedProduct
中插入一行答案 0 :(得分:1)
我会选择#2。
为什么?
触发器是众所周知的烦恼,并且往往会引起意想不到的问题 - 你无法真正控制它们被解雇的方式和时间......
如果您已经拥有将数据插入Products
的过程 - 只需将其扩展并同时将行添加到UnprovedProduct
。您可以更好地控制您在程序中执行的操作(与触发器相比)
答案 1 :(得分:1)
它非常适合触发器使用。 触发器不是那么神秘,也不难预测。它们只是一种工具,它们遵循非常具体的规则。在这种情况下,触发器在插入记录后立即运行。
您可以延长插入程序,但下一个人不会使用它,您的记录也无法正确插入。
创建TRIGGER Insert_UnProvedProduct 在产品上 插入后 AS BEGIN
INSERT INTO UnProvedProduct ( field1,field2,field3 ) 选择 field1,field2,field3 FROM INSERTED
END