首页 > 数据库 > mysql教程 > 如何从 SQL Server 存储过程中的动态 SQL 检索结果?

如何从 SQL Server 存储过程中的动态 SQL 检索结果?

Linda Hamilton
发布: 2025-01-11 10:28:42
原创
395 人浏览过

How to Retrieve Results from Dynamic SQL in SQL Server Stored Procedures?

从SQL Server存储过程中检索动态SQL结果

在存储过程中,执行动态SQL后,通常需要检索结果以进行进一步处理。一个例子就是确定动态SQL查询产生的记录数。

执行动态SQL

在提供的代码片段中,使用sp_executesql执行动态SQL以确定特定城市中客户的数量。动态SQL由@sqlCommand表示,并接受参数@city

检索结果

为了将计数值作为存储过程的返回值检索,采用了以下步骤:

  1. 声明一个新的int类型参数@cnt来保存计数值。
  2. 修改动态SQL语句,将输出变量@cnt设置为COUNT(*)值。
  3. 使用修改后的动态SQL调用sp_executesql,并在参数列表中指定@cnt作为输出参数。

示例代码

<code class="language-sql">DECLARE @sqlCommand NVARCHAR(1000);
DECLARE @count INT;
DECLARE @city VARCHAR(75);
SET @city = 'New York';

SET @sqlCommand = 'SELECT @cnt=COUNT(*) FROM customers WHERE City = @city';
EXECUTE sp_executesql @sqlCommand, N'@city nvarchar(75), @cnt int OUTPUT', @city = @city, @cnt = @count OUTPUT;

SELECT @count;</code>
登录后复制

以上是如何从 SQL Server 存储过程中的动态 SQL 检索结果?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板