2014-02-05 38 views
2

有時候我發現一些代碼讓觸發器允許用戶從View中刪除? 但是,爲什麼我們需要查看刪除,,因爲簡單,我們可以轉到表>並執行刪除這樣簡單的代碼:爲什麼我們使用觸發器使用刪除的看法爲什麼我們需要觸發從視圖中刪除?

delete from table where x=y ; 

我的問題?換句話說,使用刪除視圖的優點是什麼?

回答

2

我們使用視圖的原因主要是隱藏數據 來源的複雜性,躲起來的實際表(出於安全原因),節約 我們一遍又一遍地編寫相同的代碼。

現在,如果你還沒有讓用戶直接訪問表和他們 只有在這種情況下,通過查看工作,他們將執行Deletes 反對意見。

觸發器僅在您的View有多個基礎 表時使用。如果 影響多個基礎表,則無法在視圖上執行更新,插入或刪除操作。因此我們利用Instead of Delete/Update/Insert Triggers來針對 的意見做這些操作。

當你有多個基礎表,如果你更新,刪除或插入 效果只有一個底層表它允許你執行 的發言,但它不能保證,這將是正確完成。

因此,如果您有您的觀點是基於你應該總是做更新/刪除 多個基礎表的情況/插入

1)直接連接到基礎表。
2)使用而不是觸發器。

而且Read here對爲什麼你不應該做更新/刪除/插入操作上與多個底層表視圖的更多細節。

+0

不錯的答案:)謝謝 – Yara

相關問題