Форум сайта python.su
Выбрать одну строчку из таблицы получается, а вот множество строк нет. Вот примерно такой код набросал.
# модуль для работы с ораклом import cx_Oracle # # осуществляем соединение с базой данных conn = cx_Oracle.connect('user/password@database') # создаем объект курсора cur = conn.cursor() # # список id'шников строк которые нужно извлечь python_list = [1, 2, 3] # # укажем тип переменной var как число cur.setinputsizes(var = cx_Oracle.NUMBER) # # извлечь результаты из таблицы cur.execute('select fid, big from example where fid in :var', var = python_list) # # выводим долгожданную выборку на экран for (fid, big) in cur: print fid, big # # закрываем курсор cur.close() # # закрываем сессию с базой данных conn.close()
Отредактировано tfox (Авг. 13, 2012 11:30:09)
Офлайн
Может?
for (fid, big) in cur.fetchall():
print fid, big
Офлайн
arrays can only be bound to PL/SQL statements
query = 'select fid, big from example where fid in (%s)' % ','.join(str(x) for x in python_list)
Офлайн
ziro, спасибо
Офлайн