如何从Python执行Postgresql函数

2024-07-05 08:56:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Postgresql函数,如下所示:

CREATE OR REPLACE FUNCTION accdisvalues(thisdate date)
  RETURNS void AS
$BODY$
    Update my_table 
    Set 
    mycolumn = true
    where mydatecol = thisdate;
$BODY$
  LANGUAGE sql VOLATILE SECURITY DEFINER
  COST 100;
ALTER FUNCTION accdisvalues(date)
  OWNER TO myconnect;

每当我从PG adminiiii运行它时,它运行得很好,表中的值也会更新。在

我尝试用下面的代码从python3运行它,代码运行时没有抛出错误,但是表中没有更新。有人能帮我排除故障吗?非常感谢。在

^{pr2}$

Tags: or函数datepostgresqlmyascreateupdate
1条回答
网友
1楼 · 发布于 2024-07-05 08:56:01

完整的修改后的Python代码如下:

import easygui
import dbconnex
    setdate = '30-Dec-2014'
    accdisupdate_fn = "Select accdisvalues('" + setdate + "');"
    print(accdisupdate_fn)
    cursor = dbconnex.conn.cursor()
    cursor.execute(accdisupdate_fn)
    **dbconnex.conn.commit** #Pushes all changes to the DB
    easygui.msgbox(msg='Data loaded successfully for ' + setdate ,title="Input Status")

请看这里:http://initd.org/psycopg/docs/connection.html#connection.commit

相关问题 更多 >