如何在python中循环遍历来自sql中存储过程的表.使用While循环和Pyodbc


cur = connection.cursor()
cur.execute("set nocount on exec SP") 
while(cur.nextset()):
print(cur.description)

此代码生成10个表,有时生成11个。我希望能够使用while循环,因为每次表的数量可能不同。上面这段代码的问题是它生成了9个表,而不是10个表,因为cur.nextset((会运行并跳过第一个表。

我能做些什么来解决这个问题?我想把代码和工作循环起来。我需要一个更好的功能,与pyodbc模块一起工作。

有什么想法吗?

您可以通过将nextset()检查移动到循环的底部来避免跳过第一个结果集:

cur.execute("set nocount on exec SP")
while True:
# do stuff with the result set
if not cur.nextset():
break
print("All result sets have been processed.")

相关内容

  • 没有找到相关文章

最新更新