Sql-Server
我應該為函式添加 set nocount 嗎?
除非您使用 DONE_IN_PROC,否則我一直在閱讀有關實施“set nocount on”的所有觸發器和過程的好處。
我有一個從更新觸發器呼叫的標量值函式,以計算多個表中的值的總和。
搜尋 msdn 和過去的文章,我無法找到使用 set nocounton 的函式的顯式範例。
包含或排除“set nocount on”對函式有什麼影響?函式中是否有一點或程式碼氣味應該表明添加了 set nocount on?
函式無法將數據返回給客戶端,所以我想不出
SET NOCOUNT ON
. 如果您確實嘗試將其添加為功能,則會出現錯誤。SQL Server 認為它會引起副作用:函式體
指定一系列 Transact-SQL 語句(它們一起不會產生修改表等副作用)定義函式的值。
例如,以下程式碼會引發錯誤:
CREATE FUNCTION X_JRO_TEST() RETURNS INT AS BEGIN SET NOCOUNT ON; RETURN 1; END;
消息 443,級別 16,狀態 15,過程 X_JRO_TEST,第 5 行
在函式中無效使用副作用運算符“SET OPTION ON”。