当我通过psql客户端运行此SQL查询它运行几秒钟(约90秒,这是正常的,因为它是一个巨大的表),它返回,然后我可以检查我的线路是否已成功插入。cursort.execute/cursor.callproc返回没有错误,但没有任何执行
SELECT merge_data('898989', '111111111', '10000')
这是一个运行UPDATE或INSERT的存储过程,该过程运行时没有错误,并且我在表中获得了我的条目。
当试图从一个python程序做同样的事情时,查询需要2秒钟,并且没有返回错误,我在我的表中什么都没有;有关信息,该语句是成功的支持(我可以看到它的pgsql日志)postgresqk执行,这是我的代码片段:
conn = psycopg2.connect("...")
cursor = conn.cursor()
try:
cursor.callproc("merge_data", ['898989', '111111111', '10000'])
except:
print "ERROR !"
cursor.close()
cursor.callproc全局范围()正在执行的声明,无论如何,即使cursor.execute(“SELECT merge_date ....”)也具有相同的效果 –