2010-11-13 34 views

回答

7

存儲過程都存儲爲precompilated代碼(存儲程序),並通過地方就是了火程序員調用。存儲過程可以返回值。 About procedures and functions.

觸發命名數據庫對象自動發射時插入,刪除,更新(或其他事件)發生,就不可能有明確的調用。觸發器不能返回任何數據。 About triggers.

您可以使用觸發器的代碼程序。

+0

我相信我不能在剛剛運行INSERT的同一張表上運行觸發器?我對嗎 ?另外,我可以根據事件自動運行一個過程嗎? – 2010-11-15 18:59:40

+0

你不能CALL觸發器,它總是在觸發器之前或之後自動執行,但你可以有許多觸發器在同一個事件上執行(插入也是事件)。每個觸發器都在系統事件或插入/更新/刪除事件上運行(您需要爲這種觸發器定義表)。您不能製作自動運行的程序,但可以自動運行觸發器並調用您的程序。 – ksogor 2010-11-16 07:07:22

+0

現在很多東西都被清除了,我已經仔細閱讀了你的鏈接。但是,你在括號中的含義是什麼意思 - 「每個觸發器都在系統事件或insert/update/delete事件上運行(你需要爲這種觸發器定義表)」。我是否需要定義觸發器影響的單獨表格? – 2010-11-17 02:24:44

1

觸發器是一個類型的存儲過程,但它運行基於關閉桌子上的一個事件而不是僅僅是一組指令被重複執行的。

觸發器被定義爲激活時的插入,刪除,或UPDATE語句執行鍼對相關聯的表。

存儲過程是一組編譯到一個執行計劃Transact-SQL語句的。

+0

我相信我不能在剛剛運行INSERT的同一張表上運行觸發器?我對嗎 ?另外,我可以根據事件自動運行一個過程嗎? – 2010-11-15 18:58:52

相關問題