我得到了一些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 中)我做
c = connection.cursor()
c.callproc('tools.update_company', [1, ])
但函数返回与我给出的完全相同的输入序列,忽略结果和 OUT 参数。更改为 IN OUT 并传递一些 foo 值不会改变任何内容。在数据库中调用时,SQL 函数按预期工作
最佳答案
好吧,我几乎没有做任何研究,而且我检查了 psycopg2 代码——这个函数的当前实现就是这样
select * from function_name(params)
return params
因此它不会以任何方式修改任何内容。
关于python - Psycopg2 callproc 和 sql 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3202763/