如果我理解正确,存储过程结果也会返回一条名为DONE_IN_PROC的消息
来自 MSDN 的片段:
... SET NOCOUNT ON 消除了为存储过程中的每个语句向客户端发送 DONE_IN_PROC 消息。
在执行存储过程并读取受影响的行数后,有没有办法在 Management Studio 中以某种方式访问此消息。
(我是出于好奇而询问,我知道还有其他方法可以影响行数)
如果我理解正确,存储过程结果也会返回一条名为DONE_IN_PROC的消息
来自 MSDN 的片段:
... SET NOCOUNT ON 消除了为存储过程中的每个语句向客户端发送 DONE_IN_PROC 消息。
在执行存储过程并读取受影响的行数后,有没有办法在 Management Studio 中以某种方式访问此消息。
(我是出于好奇而询问,我知道还有其他方法可以影响行数)
某些(如果不是全部)数据库 API 使 TDS 层的 DONE_IN_PROC 消息可访问。如果 ODBC 是所选的数据库 API,请参阅 http://technet.microsoft.com/en-us/library/ms130812.aspx关于 SQLRowCount、SQLGetStmtAttr 和 NOCOUNT 的讨论。
派对迟到了,但你只是在消息的 int 之后?
create proc delme as
begin
select * from sys.databases
end
go
set nocount on
go
exec delme --returns "(7 row(s) affected)" on the message channel
select @@ROWCOUNT --returns 7