gpt4 book ai didi

postgresql - PSQL 错误 : function does not exist

转载 作者:行者123 更新时间:2023-11-29 13:43:31 25 4
gpt4 key购买 nike

我在postgres中做了一个函数

CREATE OR REPLACE FUNCTION foobar(
x TEXT,
y TEXT,
z REAL
) RETURNS BOOLEAN AS $func$
.
.
.
$func$ LANGUAGE plpgsql;

当我执行\df 时,我得到以下信息:

+----------+--------+------------------+------------------------+---------+
| Schema | Name | Result data type | Argument data types | Type |
+----------+--------+------------------+------------------------+---------+
| mySchema | foobar | boolean | x text, y text, z real | normal |
+----------+--------+------------------+------------------------+---------+

但是当我尝试使用它时,我得到 [42883] 错误:函数 foobar(text, text, real) 不存在。提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。我正在做的电话是:

SELECT * FROM myTable WHERE foobar(column1::text, 'hello'::text, 7.2::real);

对我来说,函数似乎存在并且类型匹配,我正在努力找出问题所在。

最佳答案

作为a_horse_with_no_name在他的评论中提到,解决方案是在函数前加上架构。

Wrong:   SELECT * FROM myTable WHERE foobar(column1::text, 'hello'::text, 7.2::real);
Correct: SELECT * FROM myTable WHERE mySchema.foobar(column1::text, 'hello'::text, 7.2::real);

关于postgresql - PSQL 错误 : function does not exist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51970520/

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