connection = engine.raw_connection()
cursor = connection.cursor()
cursor.callproc('transfer', [1, 2, 1000])# fetch result parameters
results = list(cursor.fetchall())
cursor.close()
connection.commit()
connection.close()
我收到此错误:
回溯(最近一次调用最后一次): 文件“D:\z_data\PYTHON\oops\sql_statements.py”,第 66 行,位于 光标.callproc('传输',[1,2,1000]) psycopg2.errors.WrongObjectType:传输(整数,整数,整数)是一个过程 第 1 行:从传输中选择 *(1,2,1000) ^ 提示:要调用过程,请使用 CALL。
【0.4秒完成】
来自
https://www.psycopg.org/docs/cursor.html#cursor.callproc
注意:
只能与 PostgreSQL functions 一起使用,不能与 PostgreSQL 11 中引入的 procedures 一起使用,后者需要callproc()
语句才能运行。请使用普通的CALL
来运行它们。execute()
对于其他人来说,我在尝试运行存储过程时遇到了问题..现在看起来很基本,但请确保您在最后提交连接。