Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

odoo12调用存储过程(procedure)



  • 数据库中有存储过程如下:
    CREATE OR REPLACE PROCEDURE "public"."triple"(INOUT "x" int4)
    AS $BODY$
    BEGIN
    x := x * 3;
    UPDATE hr_employee set
    COMMIT;
    END;
    $BODY$
    LANGUAGE plpgsql

    在navicat中执行此存储过程:
    985d75b0-f05c-4864-bfcb-5a1012ca7b6c-image.png

    但是在python代码中使用psycopg2包进行调用的时候,就无法成功。
    报错截图如下:
    d87f3b50-316e-4500-8dce-8a8363b5eb97-image.png

    90421b88-0d8b-4f06-be98-45e362aa248c-image.png

    如果在存储过程中将commit注释掉,cursor.execute("CALL triple(3)") 可以执行成功



  • @zhihao-dingodoo12调用存储过程(procedure) 中说:

    UPDATE hr_employee set

    UPDATE hr_employee set 这行是想测东西加的 执行的时候没有这行 就当这行不存在 em...


Log in to reply