我从我的python代码使用pyodbc连接到SQL Server对我的数据库进行多个查询。pyodbc游标重用
cursor = connection.connect(connection_string)
qry1 = "Select * FROM Table1"
rows = cursor.execute(qry1).fetchall()
for row in rows:
qry2 = "Select * FROM Table2"
rows2 = cursor.execute(qry2).fetchall()
for row2 in rows2:
print row2
这工作,并成功通过两个查询完成。
它是如何重用游标对象的?
我想,当我跑
rows2 = cursor.execute(qry2).fetchall()
这rows
和rows2
现在将指向同样的事情(对象)。
编辑:从pyodbc网站
由于该读所有的行到内存实用信息,它不应该,如果有很多行使用。考虑重复遍历行。但是,释放Cursor非常有用,因此您可以在处理结果行之前执行第二个查询。
我是有这个问题。解决方案究竟是什么? – 2018-01-12 14:27:08