3

如果我理解正确,存储过程结果也会返回一条名为DONE_IN_PROC的消息

来自 MSDN 的片段:

... SET NOCOUNT ON 消除了为存储过程中的每个语句向客户端发送 DONE_IN_PROC 消息。

在执行存储过程并读取受影响的行数后,有没有办法在 Management Studio 中以某种方式访问​​此消息。

(我是出于好奇而询问,我知道还有其他方法可以影响行数)

4

2 回答 2

0

某些(如果不是全部)数据库 API 使 TDS 层的 DONE_IN_PROC 消息可访问。如果 ODBC 是所选的数据库 API,请参阅 http://technet.microsoft.com/en-us/library/ms130812.aspx关于 SQLRowCount、SQLGetStmtAttr 和 NOCOUNT 的讨论。

于 2014-05-18T21:51:24.230 回答
-1

派对迟到了,但你只是在消息的 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
于 2013-08-16T02:39:46.847 回答