例如,如果我在python中运行sql查询(使用pymssql):
cursor.execute("""SELECT * FROM TABLE""")
然后我做:
for row in cursor:
print row[0]
但是我想第二次遍历该表以进行其他操作,如下所示:
for row in cursor:
print row[1]
(显然,我可以在1个循环中完成这两个操作,这只是出于示例的缘故)。我可以在不重新执行查询的情况下执行此操作吗?
最佳答案
不,pymssql中的游标的功能类似于生成器。从它们获得结果后,它们将不再包含结果集。
唯一的方法是将查询结果保存到中间列表。
例如:
import pymssql
database = pymssql.connect()
db_cursor = database.cursor()
db_cursor.execute("""SELECT * FROM Table""")
results = db_cursor.fetchall()
for result in results:
print(result[0])
for result in results:
print(result[1])
关于python - 我可以多次遍历pymssql中的游标吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38852826/