Доступ ко второму набору результатов хранимой процедуры с помощью SQL или другого обходного пути? Python\pyodbc

Я использую python\pyodbc и хочу получить доступ ко второму набору результатов хранимой процедуры. Насколько я могу судить, pyodbc не поддерживает множественные наборы результатов. Кроме того, я не могу изменить хранимую процедуру. Есть ли какие-либо варианты доступа ко второму набору результатов с помощью SQL или какого-либо другого обходного пути? Возможно, создать вторую хранимую процедуру, которая возвращает только второй набор результатов первого?


person Community    schedule 07.11.2008    source источник


Ответы (2)


Не нужно ничего вычурного. Просто используйте следующий набор:


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

person TJG    schedule 24.11.2008

Существует несколько возможных методов здесь. Если все наборы результатов одинаковы, вы можете использовать метод INSERT...EXEC. В противном случае OPENQUERY может сработать.

person Tom H    schedule 07.11.2008