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

时间:2008-11-07 18:58:48

标签: python sql pyodbc

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

2 个答案:

答案 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可能会有效。