【发布时间】:2016-10-13 03:35:19
【问题描述】:
我正在试验Teradata python模块教程here
我正在执行一个查询,我想对结果集进行多次迭代。问题是,如果我对结果集进行一次迭代,我就不能再做一次了。看起来结果集已用尽,不再可用于任何进一步的计算。
请参阅下面的代码了解详细信息并建议如何保留结果集。
import teradata
class DB():
def __init__(self):
udaExec = teradata.UdaExec (appName="HelloWorld", version="1.0",logConsole=False)
session = udaExec.connect(method="odbc", system="tddemo",username="dbc", password="dbc")
self.session = session
def fun1(self):
rows = self.session.execute("SELECT databasename, ownername FROM DBC.DATABASES where DatabaseName='financial'")
return rows
db = DB()
rows = db.fun1()
# This loop prints accurate result like
#Row 1: [financial, Samples]
for row in rows:
print(row)
# This loop does not print anything
for row in rows:
print(row)
# This line also gets printed
print("The End")
【问题讨论】:
标签: python cursor iteration teradata resultset