python - 从存储过程返回多个数据集?
问题描述
是否可以从存储过程返回多个数据集?
例如
CREATE PROCEDURE [dbo].[usp_vvvv] (....)
.....
SELECT *
FROM #_temp_client_details
SELECT *
FROM #_temp_address_details
DROP TABLE #_temp_client_details
DROP TABLE #_temp_address_details
....
END TRY
BEGIN CATCH
..
END CATCH
END
在我的场景中,我需要从 3 个不同的临时表中获取数据集到我的 python 代码中。
所有 3 个不同的临时表都是使用相同的表、相同的参数和一些操作构建的。所以,我不想创建 3 个单独的存储过程(因为所有 3 个存储过程都将使用 90% 相同的 SQL 逻辑)。
我目前从以下存储过程之一获取输出:
import pandas as pd
def execute():
query='exec [zzz].[dbo].[sp_zzz]?, ?, ?, ?'
df = pd.read_sql(query, cnxn, params=[astart, aend, lstart,
lend])
writer = pd.ExcelWriter('output.xlsx')
df.to_excel(writer, index=False, sheet_name='client')
writer.save()
可能吗?如果是这样,我怎样才能将所有表输出到熊猫中?
解决方案
是的,这应该有效。nextset()
在此处查看 Python 文档中函数的使用: https ://www.python.org/dev/peps/pep-0249/
推荐阅读
- c++ - 使用模板化变量的 std::vector 时出错 INSIDE a struct INSIDE a class
- sql - SQL查询获取未被考核的员工
- c - clang 创建输出目录
- excel - 宏性能 - 删除列
- apache - 使用 htaccess,将 http 或 https 域以及任何子页面重定向到另一台服务器上的特定页面
- javascript - 如何在单击时将组件添加到 vue
- google-sheets - 如果日期和名称相互重叠,则以错误响应
- python - 如何为包含大量异常值的 ML 分类任务准备 IOT 数据?
- reactjs - 将组件作为道具传递
- postgresql - 将现有数据库导入新的 Dokku 应用程序