问题上下文:我使用 VisualStudio 2008 和类型化数据集,它们提供了对 Execute 标量的“简单”访问,executescalar()
返回第一个记录集第一行的第一个字段的值(最后一部分经常被省略)
这种行为的问题在于,您通常希望在计算最终语句返回的值之前发出一些其他请求。select @returnValue
所以我的问题是,一般来说,如何防止 SP 返回中间记录集? (我尝试了 SET FMTONLY ON/OFF 但有不想要的副作用)
另一个相关问题是:如何防止 T-SQL UPDATE 语句返回更新的行?有时您使用 UPDATE 来简单地 UPDATE ...
谢谢!
样本:
开始
SET NOCOUNT ON;
declare @c int
select @c=(select count(*) from work where ...)
select @c -- so ExecuteScalar() works
update sousblocs set myfield = @c
where ...
select @c --after the update, won't be seen by ExecuteScalar()
return @c --useless for ExecuteScalar
结尾
这是我的问题,可以通过第一个“select @c”解决;但我仍然想知道你是否可以禁用记录输出....