我正在使用python \ pyodbc并且想要访问存储过程的第二个结果集。就我所知,pyodbc不支持多个结果集。此外,我无法修改存储过程。是否有任何选项可以使用SQL或其他一些解决方法来访问第二个结果集?也许创建第二个存储过程只返回第一个结果集?
答案 0 :(得分:11)
不需要任何花哨的东西。只需使用nextset:
import pyodbc
db = pyodbc.connect ("")
q = db.cursor ()
q.execute ("""
SELECT TOP 5 * FROM INFORMATION_SCHEMA.TABLES
SELECT TOP 10 * FROM INFORMATION_SCHEMA.COLUMNS
""")
tables = q.fetchall ()
q.nextset ()
columns = q.fetchall ()
assert len (tables) == 5
assert len (columns) == 10
答案 1 :(得分:0)
有几种可能的方法here。如果结果集完全相同,则可以使用INSERT ... EXEC方法。否则OPENQUERY可能会有效。