[英]Rules of creating Stored Procedures and Functions for notification
當使用SqlDependency
和SqlMonitor
來通知數據庫更改時,我知道有一些構造查詢的規則。
我很好奇的是Stored Procedure
的所需結構是什么? 據我了解,對於執行簡單的SELECT
查詢,通過遵循規則,可以使其與sql通知服務一起使用。
if
SP
有控制流( if
有,則是else
或while
是),會發生什么? 有規則嗎?
同樣的規則也適用於Function
嗎?
創建查詢查詢 :
當注冊通知的命令包含多個語句時,數據庫引擎將為批處理中的每個語句創建一條通知。
因此,如果您具有控制流(如果有,則是while等),那么實際執行的路徑就是設置通知的路徑。 如果未采用分支,則不會設置任何通知,因為在該分支中不會執行任何語句。 如果循環重復執行一條語句,則每次執行都會設置一個單獨的通知。
對於UDF,唯一重要的是語句中基本上內聯的那些,因為幾乎所有其他UDF都會使查詢對於通知無效。 這些內聯的UDF就像您在語句中編寫了擴展函數定義一樣。 換句話說,它們不會相對於通知進行任何更改。 重要的是陳述 。
要點是只有SELECT才能設置通知。 當您執行SP(或批處理)時,不會為“ SP”本身設置通知,而是為執行的每個SELECT語句(正被執行)設置通知。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.