存储过程中"SET NOCOUNT ON"的用处,我想返回影响的行数啊,但我的设计正确吗?

SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEPROCEDUREgroup_add@用户IDbigint,@分组名ncha... SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE group_add
@用户ID bigint,
@分组名 nchar(10)
AS
IF(NOT EXISTS(SELECT * FROM [group] WHERE 用户ID = @用户ID AND 分组名 = @分组名))
BEGIN
SET NOCOUNT ON;---------------------------
INSERT INTO [group] VALUES(@用户ID,@分组名)
END

如上一个存储过程,我想在执行此存储过程后返回insert操作所影响的行数(1或0),但是不是要把SET NOCOUNT ON改为SET NOCOUNT OFF ?

我在.cs文件下使用C#语言编写调用此存储过程的方法,部分如下:
string strCommand = "EXEC group_add " + "100" + "," + "'好友'";
SqlCommand objCommand = new SqlCommand(strCommand);
SqlConnection objConnection = new SqlConnection(strConnect);
objCommand.Connection = objConnection;
objConnection.Open();
int num = objCommand.ExecuteNonQuery();

如果存储过程中的insert操作成功,在(SET NOCOUNT OFF)下,num是不是==1 ?
在(SET NOCOUNT ON)下,num是不是==0 ?
展开
 我来答
roy_88
推荐于2018-04-04 · TA获得超过3696个赞
知道大有可为答主
回答量:2914
采纳率:100%
帮助的人:2724万
展开全部
阻止在结果中返回可显示受 Transact-SQL 语句影响的行数的消息。
当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。当 SET NOCOUNT 为 OFF 时,返回计数。

即使当 SET NOCOUNT 为 ON 时,也更新 @@ROWCOUNT 函数。
zec123456789
2009-03-27
知道答主
回答量:40
采纳率:0%
帮助的人:0
展开全部
dfh fg
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hotyxm
2009-03-27 · TA获得超过1028个赞
知道大有可为答主
回答量:1698
采纳率:50%
帮助的人:1190万
展开全部
话说回头,这个无所谓的,用程序计数不也一样吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式