我有许多具有set nocount on
的过程。
是否有必要在存储过程结束时将其关闭?
例如。:
create procedure DummyProc
as
begin
set nocount on
...
set nocount off
end
最佳答案
set nocount on
将禁用SQL返回的X rows affected.
消息。在某些情况下,由于客户端执行存储的proc的不良影响,此消息被抑制。set nocount off
将撤消此抑制。但是,set nocount on
是一个作用域设置,默认情况下,无论如何离开作用域都会被关闭。
现在,需要set nocount off
吗?不,因为执行的任何新命令都将在不同的范围内,并且默认情况下set nocount off
始终有效。但是,正如上面的注释中所述,这是一个好习惯,只是为了明确表明该过程将在proc完成执行后恢复正常。