最后"最终"是否安全?在使用psycopg2进行fetchall之后删除一个表

时间:2016-07-25 12:27:39

标签: python postgresql psycopg2

在连接conn上给出一个游标变量curr,最终"最终"从中获取所有结果后删除一个表?类似于以下内容

curr.execute(some_select_query)

try:
    results = curr.fetchall()
except:
    some_error_handling()
finally:
    curr.execute(drop_table_query)
    conn.commit()

use_results_array_here

是否已将所有结果提取到结果数组中?性能会受到下降的影响吗?

1 个答案:

答案 0 :(得分:1)

是的,所有行都将作为元组列表提取,但是,您可能希望使用else代替finally

仅当Else成功完成时才执行

try,这样可以避免在获取期间出现错误(连接丢失等等)时删除表。

curr.execute(some_select_query)
try:
    results = curr.fetchall()
except:
    some_error_handling()
else:
    curr.execute(drop_table_query)
    conn.commit()

use_results_array_here