sql server使用sp_executesql返回拼接字符串里面的输出参数
问题:
今天一同事请教博主,他拼接了一个语句,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返回拼接字符串里面的输出参数的更多相关文章
- SQL Server数据库存储过程中拼接字符串注意的问题
在SQL Server数据库中书写复杂的存储过程时,一般的做法是拼接字符串,最后使用EXEC sp_executesql '拼接的字符串' 查询出结果. 先看一段代码: -- ============ ...
- SQL Server GROUP BY 后 拼接 字符串
原文地址:https://blog.csdn.net/u010673842/article/details/79637618 select ID, ,,'') from class a group b ...
- SQL Server日期时间格式转换字符串详解 (详询请加qq:2085920154)
在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...
- SQL Server日期时间格式转换字符串
在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...
- SQL Server日期时间格式转换字符串详解
本文我们主要介绍了SQL Server日期时间格式转换字符串的相关知识,并给出了大量实例对其各个参数进行对比说明,希望能够对您有所帮助. 在SQL Server数据库中,SQL Server日期时间格 ...
- 使用IP连接SQL SERVER或者配置为连接字符串失败
使用IP连接SQL SERVER或者配置为连接字符串失败 情景一:当在webconfig文件中使用 <add key="ConnectionString" value=& ...
- .net连接sql server的几种连接字符串的写法
.net连接sql server的几种连接字符串的写法 1, 混合验证模式登录 server=电脑名 或 电脑IP;database=数据库名;uid=数据库登录名;password=数据库登录密码 ...
- SQL Server存储过程同时返回分页结果集和总数
前言 好长时间没摸数据库了,周末在家写了个报表的存储过程,一时间对使用存储过程实现分页的同时并计算出记录总数不知道怎么更好的去实现.按照我们正常的业务逻辑,存储过程数据首先是分页,其次接受若干查询条件 ...
- SQL Server使用sp_executesql在存储过程中执行多个批处理
SQL Server中有些SQL语句只能在一个批处理里面完成,例如CREATE SCHEMA语句创建SCHEMA的时候,每个SCHEMA都需要在一个单独的批处理里面完成: CREATE SCHEMA ...
随机推荐
- UVA-11995
There is a bag-like data structure, supporting two operations:1 x Throw an element x into the bag.2 ...
- jwt Token验证与解析
网上似乎没有相关代码 贴上一段Token的解析认证 [TestMethod] public void TestMethod1() { string Token = "eyJhbGciOiJI ...
- 从RTL视图到Verilog语言-转可乐豆原创
从RTL视图到Verilog语言 曾经听过某位大牛都说:“当你的学习FPGA到一个境界的时候,你看到的硬件描述语言,将不再是单纯的语言,而是由一个个逻辑门组成的电路图,一旦达到这个境界,方能把代码写到 ...
- 【JS】369- 20个常用的JavaScript字符串方法
点击上方"前端自习课"关注,学习起来~ 作者:前端小智 https://segmentfault.com/a/1190000020204425 本文主要介绍一些最常用的JS字符串函 ...
- 一篇文章搞清楚HashMap和TreeMap的内部结构
一.HashMap 1.基于哈希表的 Map 接口的实现. 此实现提供所有可选的映射操作,并允许使用 null 值和 null 键.(除了非同步和允许使用 null 之外,HashMap 类与 Has ...
- python学习-price
"""登录功能:用户名和密码存在{'name':'huahua','pwd':'123456'}字典中,通过控制台输入用户名和密码判读是否正确,然后给出对应的提示消息:登 ...
- java8-date和timeAPI
一 我们为什么要学习 java.timeAPI 原先的Date and Calendar 类的api比较复杂,不易于理解,应用起来不是很灵活. Calendar 是个线程不安全的类会导致SimpleD ...
- HTML连载56-网易注册界面实战之全部代码
一.今天完成了网易邮箱注册界面的全部编写,编写一个小小的网页就需要这么多时间来进行设计.测量.排版.编写.测试,才能进行使用,同时编写这个网页复习了几乎前面的所有内容,最后来一个汇总就可以了. < ...
- 《老师说的都对》- Alpha冲刺阶段博客目录
项目小组:<老师说的都对> 项目成员:孙浩杰,谭明耀,宋自康,孙肖肖,王明鑫,王观山 Github仓库地址-PCES 一.Scrum Meeting 第六周会议记录 第七周会议记录 二.测 ...
- java基础练习题
1变量.运算符和类型转换:1.1手动输入一个学生的成绩,对这个成绩进行一次加分,加当前成绩的20%,输出加分后成绩 Scanner scan = new Scanner(System.in); Sys ...