问题:
  今天一同事请教博主,他拼接了一个语句,select表格形式数据,然后使用@@rowcount获取到行数。
  但他又有这样特别的需求:想只获取行数而不返回表格数据结果,因为是while循环,不想返回那么多次表格到客户端,而且后面又想复用这个返回表格形式数据的脚本字符串,不想在这个脚本字符串上改成count函数的拼接而影响后面复用脚本。
  试图使用这个方法:把脚本在SQL Server Management Studio中打开,右击【查询选项】→【结果】→【网格】→勾选【执行后放弃结果】,结果确实是不返回table表格数据,但连要返回的那部分也都一并不返回了,连print都不显示了,因此这个方法不能满足这个特殊需求。

解决方案:
  经博主编写demo脚本,使用sp_executesql返回拼接字符串里面的输出参数这个知识点,问题得到了解决。博主把这个demo拿出来分享给大家。

脚本:

/*
作者:zhang502219048
脚本来源:https://www.cnblogs.com/zhang502219048/p/11317762.html
说明:本脚本用于示例如何使用sp_executesql返回拼接字符串里面的输出参数
*/
--@sql_table:源sql,返回表数据
declare @sql_table nvarchar(100) = '
select 1 ID
union
select 3
'
--@sql_count:组装count统计sql
declare @sql_count nvarchar(100) = '
select @iCount = count(*)
from
(' + @sql_table + ') a
'
--@iCount:返回输出参数
declare @iCount int
exec sp_executesql @sql_count, N'@iCount int out', @iCount out --为了拼接返回参数,用sp_executesql
--显示@iCount
print(@iCount)
--显示原来脚本
print(@sql_table)
--显示组装count统计sql
print(@sql_count)

脚本运行结果:

作者声明:
欢迎转载,但转载请务必注明博文来源:https://www.cnblogs.com/zhang502219048/p/11317762.html

sql server使用sp_executesql返回拼接字符串里面的输出参数的更多相关文章

  1. SQL Server数据库存储过程中拼接字符串注意的问题

    在SQL Server数据库中书写复杂的存储过程时,一般的做法是拼接字符串,最后使用EXEC sp_executesql '拼接的字符串' 查询出结果. 先看一段代码: -- ============ ...

  2. SQL Server GROUP BY 后 拼接 字符串

    原文地址:https://blog.csdn.net/u010673842/article/details/79637618 select ID, ,,'') from class a group b ...

  3. SQL Server日期时间格式转换字符串详解 (详询请加qq:2085920154)

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

  4. SQL Server日期时间格式转换字符串

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

  5. SQL Server日期时间格式转换字符串详解

    本文我们主要介绍了SQL Server日期时间格式转换字符串的相关知识,并给出了大量实例对其各个参数进行对比说明,希望能够对您有所帮助. 在SQL Server数据库中,SQL Server日期时间格 ...

  6. 使用IP连接SQL SERVER或者配置为连接字符串失败

    使用IP连接SQL SERVER或者配置为连接字符串失败 情景一:当在webconfig文件中使用   <add key="ConnectionString" value=& ...

  7. .net连接sql server的几种连接字符串的写法

    .net连接sql server的几种连接字符串的写法 1, 混合验证模式登录 server=电脑名 或 电脑IP;database=数据库名;uid=数据库登录名;password=数据库登录密码 ...

  8. SQL Server存储过程同时返回分页结果集和总数

    前言 好长时间没摸数据库了,周末在家写了个报表的存储过程,一时间对使用存储过程实现分页的同时并计算出记录总数不知道怎么更好的去实现.按照我们正常的业务逻辑,存储过程数据首先是分页,其次接受若干查询条件 ...

  9. SQL Server使用sp_executesql在存储过程中执行多个批处理

    SQL Server中有些SQL语句只能在一个批处理里面完成,例如CREATE SCHEMA语句创建SCHEMA的时候,每个SCHEMA都需要在一个单独的批处理里面完成: CREATE SCHEMA ...

随机推荐

  1. 计蒜客-蒜场抽奖(AC自动机+状态压缩DP)

    题解:题意不再说了,题目很清楚的. 思路:因为N<=10,所以考虑状态压缩 AC自动机中 val[1<<i]: 表示第i个字符串.AC自动机中fail指针是指当前后缀在其他串里面所能 ...

  2. Dubbo 2.7新特性之异步化改造

    这是why技术的第1篇原创文章 我与Dubbo的二三事 我是2016年毕业的,在我毕业之前,我在学校里面学到的框架都是SSH,即struts+spring+hibernate,是的你没有看错,在大学里 ...

  3. 基于FPGA的图像开发平台 其他摄像头附件说明(OV5642 OV9655)

    基于FPGA的图像开发平台 其他摄像头附件说明 FPGA_VIP_V101 编者 奇迹再现 个人博客 http://www.cnblogs.com/ccjt/ 联系邮箱 Shenyae86@163.c ...

  4. 【Vuejs】269- 提升90%加载速度——vuecli下的首屏性能优化

    前言 之前用 ,所以接下来还会介绍一些它们在优化上的异同 分析 vuecli 2.x自带了分析工具只要运行 npm run build --report 如果是 vuecli 3的话,先安装插件 cn ...

  5. TypeScript高级用法详解

    引言 作为一门强大的静态类型检查工具,如今在许多中大型应用程序以及流行的JS库中均能看到TypeScript的身影.JS作为一门弱类型语言,在我们写代码的过程中稍不留神便会修改掉变量的类型,从而导致一 ...

  6. 深入探索Java设计模式(二)之策略模式

    策略设计模式是Java API库中常见的模式之一.这与另一个设计模式(称为状态设计模式)非常相似.本文是在学习完优锐课JAVA架构VIP课程—[框架源码专题]中<学习源码中的优秀设计模式> ...

  7. Sockit 硬件接口编程——点亮一个LED

    1.话不多说上代码 #include <stdio.h> #include <stdlib.h> #include <string.h> #include < ...

  8. 电商设计V1(一):软件工程设计

    软件工程设计的方式方法 多视图法: 全面分析软件方方面面的问题 尽早地发现和排除项目风险与不确定因素 从不同角度去展现要设计的软件系统 为项目进行不同的干系人提供指导: 逻辑架构描述系统功能,并指导系 ...

  9. 分布式事务之解决方案(XA和2PC)

    3. 分布式事务解决方案之2PC(两阶段提交) 针对不同的分布式场景业界常见的解决方案有2PC.TCC.可靠消息最终一致性.最大努力通知这几种. 3.1. 什么是2PC 2PC即两阶段提交协议,是将整 ...

  10. 获取开发版sha1和开发版sha1

    注:前提是你已经安装好jdk和android-sdk,并且将两者的环境变量已经设置完毕,我这里是jdk8 获取开发版sha1(也称作测试版) 1.打开命令行 cd .android 2.输入keyto ...