gpt4 book ai didi

函数上的 PostgreSQL-simple `execute` 失败并显示 "execute resulted in Col 1-column result"

转载 作者:行者123 更新时间:2023-11-29 14:18:33 26 4
gpt4 key购买 nike

我想从 Haskell 执行一个 Postgres 函数,该函数更新 3 行但用 RETURNS VOID 声明。我按如下方式运行函数:

catch (do execute conn "select record(?,?)" [id1, id2])
(\(e :: SomeException) -> do putStrLn ("Exception:" ++ (show e)); return False)

但这会导致:

QueryError {qeMessage = "execute resulted in Col 1-column result", qeQuery = "select record(?,?)"}

查询没有返回结果:

ebdb=> select record('','');
record
--------------------

(1 row)

如何从 Haskell 执行这个 Postgresql 函数?

最佳答案

我会尝试使用 query 而不是 execute:

query conn "select 1 from record(?,?)" [id1, id2]

execute 适用于 INSERTUPDATE 等语句。即使您的语句没有返回任何行,它仍然是一个 SELECT 所以我认为你需要使用 query 来运行它。

关于函数上的 PostgreSQL-simple `execute` 失败并显示 "execute resulted in Col 1-column result",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38552441/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com