繁体   English   中英

传递给用户定义函数 postgresql 的数据参数

[英]Data arguments passing to user-defined function postgresql

我正在尝试创建用户定义的函数,它将根据给定的日期从费用视图中返回SUM

CREATE FUNCTION budget.getTotalAmountFromView (startDate DATE, endDate DATE)
RETURNS DECIMAL AS $$
DECLARE
    totalValue DECIMAL := 0;
BEGIN
    SELECT INTO totalValue sum(amount) from budget.epenses_overview where transaction_date >= startDate AND transaction_date <= endDate;
    RETURN totalValue;
END;
$$ LANGUAGE plpgsql;

我正在尝试使用以下方法调用它:

SELECT * FROM budget.getTotalAmountFromView(TO_DATE(20190201, YYYYMMDD), TO_DATE(20190225, YYYYMMDD));

但它返回错误

更改后:
功能应分配给正确的模式 -> 预算;
并调用:
SELECT budget.getTotalAmountFromView('20190201'::DATE, '20190225'::DATE);

标量函数不需要FROM

SELECT budget.getTotalAmountFromView22('20190201'::DATE, '20190225'::DATE);

您在日期和格式字符串周围缺少单引号。

TO_DATE(20190201, YYYYMMDD)应该是TO_DATE('20190201', 'YYYYMMDD')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM