我创建了一个函数,它本身不会给出任何错误,但是在调用它时出现错误。我知道从技术上讲我不需要函数,但对于我的场景,我需要使用一个函数。
错误:
查询“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();
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