Psycopg2 callproc和sql参数 [英] Psycopg2 callproc and sql parameters

查看:308
本文介绍了Psycopg2 callproc和sql参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一些SQL函数

CREATE OR REPLACE FUNCTION tools.update_company(IN company_id integer, OUT value integer)
     RETURNS integer AS
 $BODY$

BEGIN 
select * into value from function_making_int(company_id)
END;$BODY$

并且从Psycopg2(如果重要的话,它在Django内部)

and from Psycopg2 (its inside Django if that matters) I do

c = connection.cursor()
c.callproc('tools.update_company', [1, ])

但是函数返回的输入序列与我给出的完全相同,忽略了结果和OUT参数.更改为IN OUT并传递一些foo值不会更改任何内容.在数据库中调用时,SQL函数将按预期工作

but function returns exactly the same input sequence as I gave, ignoring results and OUT parameter. Change to IN OUT and passing some foo value changes nothing. When called within database SQL function works as expected

推荐答案

好吧,我做了很少的研究,并且检查了psycopg2代码-该功能的当前实现只是做

Well I did little research and I've checked psycopg2 code - current implementation of this function just do

select * from function_name(params)
return params

因此它不会以任何方式修改任何内容.

so it does not modify anything in any way.

这篇关于Psycopg2 callproc和sql参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆