M4k*_*4ks 5 python psycopg2 plpgsql
我有一些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$
Run Code Online (Sandbox Code Playgroud)
并且来自Psycopg2(如果重要的话,它在Django内部)我这样做
c = connection.cursor()
c.callproc('tools.update_company', [1, ])
Run Code Online (Sandbox Code Playgroud)
但是函数返回与我给出的完全相同的输入序列,忽略结果和OUT参数.更改为IN OUT并传递一些foo值不会改变任何内容.在数据库中调用时,SQL函数按预期工作
好吧,我做了很少的研究,并且检查了 psycopg2 代码 - 这个函数的当前实现只是做
select * from function_name(params)
return params
Run Code Online (Sandbox Code Playgroud)
所以它不会以任何方式修改任何内容。
| 归档时间: |
|
| 查看次数: |
3885 次 |
| 最近记录: |