sql-server - 为什么 T-SQL 打印语句会导致 ResourceClosedError: This result object does not return rows。它已自动关闭
问题描述
我从 Jupyter 调用 SQL Server SP,SP 看起来像这样:
ALTER
procedure [dbo].[proc_Report_QuarterlyDistribution02] (@quarter int, @year int, @group int)
as
declare @total int,
@date date
set @date = cast(@year as varchar(4)) + '-01-01'
set @date = dateadd(quarter, @quarter - 1, @date)
print @date
select @total = count(1)
from DimMedical
where ServiceDate between
DATEADD(quarter, -9,@date) and @date
and carriercode = @group
and Category = 'Physicians'
SP 继续 - 这不是问题。
问题是线路
print @date
问题为什么打印语句会导致错误:
ResourceClosedError: This result object does not return rows. It has been closed automatically.
解决方案
为什么打印语句会导致错误:“此结果对象不返回行”
这可能是您正在使用的客户端库中的一个限制。一些客户端库在看到消息时停止查找结果集。
删除打印语句,升级您的客户端库(未提及),或者使用 INSERT ... EXEC 将存储过程插入到表中,然后在后续查询中从中进行选择。
推荐阅读
- javascript - 尝试在本地使用 OBJLoader 加载对象 | 三.js
- spring-security - Spring - 如何在没有用户的情况下通过 feign 调用安全服务
- java - 如何使用 Spark 并行化 java 中的算法?
- java - 具有泛型类型的接口 - 是否过度设计?
- python - 当设置为数据框列时,熊猫系列转换为方法
- javascript - 我将如何通过嵌套的 Json“映射”
- python - 在 numpy 中理解 arr[::-1]。这是特例吗?
- php - 如何回显 MySQL 数据库没有返回任何内容?
- cognos-11 - 如何在 cognos analytics 11 中保存数据库连接的用户名和密码?
- r - 有关列表中多个图形的信息 (igraph)