如何正确调用PostgreSQL中的函数

问题描述 投票:0回答:1

我创建了一个函数,它本身不会给出任何错误,但是在调用它时出现错误。我知道从技术上讲我不需要函数,但对于我的场景,我需要使用一个函数。

错误:

查询“SELECT (show_date) FROM show”返回多行。 上下文:PL/PGSql 函数 Change_data_type() 第 3 行 RETURN

CREATE OR REPLACE FUNCTION change_data_type()
RETURNS date as $$
BEGIN
    RETURN DATE(show_date) FROM show;
END;
$$ LANGUAGE PLPGSQL;

SELECT change_data_type();
sql postgresql function
1个回答
0
投票
create table show(show_date DATE);
INSERT INTO show values (now());

只有一条记录:

SELECT change_data_type();

不会返回错误

但有超过 1 条记录:

INSERT INTO show values (now());
SELECT change_data_type();

会的,请参阅:DBFIDDLE

ERROR:  query returned more than one row
CONTEXT:  query: DATE(show_date) FROM show
PL/pgSQL function change_data_type() line 3 at RETURN
© www.soinside.com 2019 - 2024. All rights reserved.