[英]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.