问题:
今天一同事请教博主,他拼接了一个语句,select表格形式数据,而后使用@@rowcount获取到行数。
但他又有这样特别的需求:想只获取行数而不返回表格数据结果,由于是while循环,不想返回那么屡次表格到客户端,并且后面又想复用这个返回表格形式数据的脚本字符串,不想在这个脚本字符串上改为count函数的拼接而影响后面复用脚本。
试图使用这个方法:把脚本在SQL Server Management Studio中打开,右击【查询选项】→【结果】→【网格】→勾选【执行后放弃结果】,结果确实是不返回table表格数据,但连要返回的那部分也都一并不返回了,连print都不显示了,所以这个方法不能知足这个特殊需求。sql
解决方案:
经博主编写demo脚本,使用sp_executesql返回拼接字符串里面的输出参数这个知识点,问题获得了解决。博主把这个demo拿出来分享给你们。ide
脚本:函数
() () sp_executesql , N, out ( ( ()
脚本运行结果:spa