从SQL Server存储过程中检索动态SQL结果
在存储过程中,执行动态SQL后,通常需要检索结果以进行进一步处理。一个例子就是确定动态SQL查询产生的记录数。
执行动态SQL
在提供的代码片段中,使用sp_executesql
执行动态SQL以确定特定城市中客户的数量。动态SQL由@sqlCommand
表示,并接受参数@city
。
检索结果
为了将计数值作为存储过程的返回值检索,采用了以下步骤:
int
类型参数@cnt
来保存计数值。@cnt
设置为COUNT(*)
值。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中文网其他相关文章!