我有一个postgres程序,该程序使用了参数。 如何在python中使用out参数值。
create or replace procedure test(id number,result out varchar2)
as
begin
result := 'Saud';
end;
我想从python调用上面的程序。
如何使用out参数从python调用该过程。
答案 0 :(得分:0)
使用psycopg2
:
连接数据库
conn = psycopg2.connect("dbname=mydb")
创建游标
curs = conn.cursor()
执行SQL,如:
curs.execute("SELECT test(%s)", (1,))
获取结果
row = curs.fetchone()
print row[0]
有关详细信息,请参阅the psycopg2 documentation and tutorial。您还应该阅读Python DB-API documentation。
答案 1 :(得分:0)
考虑这样的过程
create or replace procedure test(in one integer, in two integer, inout three integer)
language plpgsql
as
$$
begin
three:=one+two;
end
$$
要对psycopg2执行此过程,请使用以下格式。
conn = psycopg2.connect("dbname='yourdbname' user='youruser' host='yourhostname'
password='yourpassword'")
cursor=conn.cursor()
cursor.execute("call public.test(%s,%s,%s)",(1,2,three))
result = cursor.fetchone()
print(result[0])
这应该打印3。问题是您必须绑定所有过程参数。希望对您有帮助。...