2011-01-19 99 views
0

我從未使用觸發器或存儲過程。現在我想研究如何以及何時使用它。 我有表名爲Products,當產品表填充行時,我想將ProductID和UnitsInStock和paset複製到Inventory表中。庫存表中有一個問題是行填寫時必須填寫購買用戶的列。觸發器或存儲過程會對這種情況有用嗎?SQL Server觸發器,存儲過程

回答

1

我個人從來不會使用觸發器,當我使用的代碼它是好的,如果所有的工作是在SQL中完成。原因是其他人首先很難意識到它是在後端工作的觸發器。如果代碼中有錯誤,觸發器是你檢查的最後一件事。如果列名更改,則很容易發現代碼中的錯誤。存儲過程很好,但這一切都取決於組織和組織。我已經開始在代碼中使用sql,並且喜歡它,因爲沒有來回查看數百個相關存儲過程的工作。我的看法雖然...

0

如果您在插入或更新後只需將某個表中的內容複製到另一個表中,則觸發器是正確的方法。

但是,如果您的情況下一列必須填寫用戶應用的數據,您可能必須從您的代碼中執行此操作。

關於存儲過程的使用:看看this。但是網絡上有很多關於這個主題的討論。只是谷歌了一下。

0

使用存儲過程,通過該系統所需要的參數的所有值,然後內的交易後更改產品表,然後在庫存表,然後立即提交更改這兩個表 - 所以無論是兩個表得到更新,或者都沒有。