【发布时间】:2016-07-07 16:33:16
【问题描述】:
我尝试让这个功能运行。当我使用 pgadmin 并使用
手动调用此函数时SELECT calculate_something(7) 或SELECT common.calculate_something(7)
ERROR: function calculate_something(integer) doesn't exist
hint no function matches the given name and argument types
(从德语翻译)
我已经尝试拨打电话SELECT calculate_something(cast(7 as bigint));
该函数或强制转换有什么问题? :/
CREATE OR REPLACE FUNCTION common.calculate_something(id bigint)
RETURNS real AS
$BODY$
DECLARE
some_value_out REAL := 20;
BEGIN
-- I already removed that part for bug fixing and return a constant value (20)
RETURN some_value_out;
END;
$BODY$
LANGUAGE plpgsql VOLATILE;
【问题讨论】:
-
为我工作。检查函数是否创建成功并检查您是否连接到正确的数据库。
-
如果您关闭自动提交,请确保
commit您的create function声明 -
你用的是什么pg版本?
-
我在 debian 机器上使用 9.4.5 版本。
-
如果您使用的架构不是
public,您是否授予了所有必需的权限? postgresql.org/docs/9.4/static/sql-grant.html
标签: postgresql plpgsql