使用SQL或其他解决方法访问存储过程的第二个结果集?Python的\ pyodbc

9 python sql pyodbc

我正在使用python\pyodbc,并希望访问存储过程的第二个结果集.就我所知,pyodbc不支持多个结果集.此外,我无法修改存储过程.是否有任何选项可以使用SQL或其他一些解决方法来访问第二个结果集?也许创建第二个存储过程只返回第一个的第二个结果集?

TJG*_*TJG 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

Run Code Online (Sandbox Code Playgroud)


Tom*_*m H 0

这里有几种可能的方法。如果结果集全部相同,您也许可以使用 INSERT...EXEC 方法。否则 OPENQUERY 可能会起作用。