PostgreSQL函数返回类型错误
我是一个新手,正在努力自学PostgreSQL。目前,我正在尝试创建一个函数,该函数根据同一表中其他两列的值更新一列。我正在创建一个函数,因为我想在编辑列值时将其作为触发器来执行。所有列都包含文本 我的代码是:PostgreSQL函数返回类型错误,postgresql,Postgresql,我是一个新手,正在努力自学PostgreSQL。目前,我正在尝试创建一个函数,该函数根据同一表中其他两列的值更新一列。我正在创建一个函数,因为我想在编辑列值时将其作为触发器来执行。所有列都包含文本 我的代码是: CREATE FUNCTION rev_1.update_proceed_column() RETURNS character varying AS $BODY$ UPDATE rev_1.catchment_e_gravity_lines SET proceed = 'N/A'
CREATE FUNCTION rev_1.update_proceed_column() RETURNS character varying AS
$BODY$
UPDATE rev_1.catchment_e_gravity_lines SET proceed = 'N/A'
WHERE installed = 'YES' AND dependent = 'YES';
UPDATE rev_1.catchment_e_gravity_lines SET proceed = 'N/A'
where installed = 'YES' AND dependent ='NO';
UPDATE rev_1.catchment_e_gravity_lines SET proceed = 'YES'
WHERE installed = 'NO' AND dependent = 'NO';
UPDATE rev_1.catchment_e_gravity_lines SET proceed = 'NO'
WHERE installed = 'NO' AND dependent = 'YES';$BODY$
LANGUAGE sql VOLATILE NOT LEAKPROOF;
ALTER FUNCTION rev_1.update_proceed_column()
OWNER TO postgres;
然而,我得到了一个“返回类型不匹配”的错误,似乎无法使函数工作。我遗漏了什么吗?感谢@Kristo Mägi,我将标题从字符调整为无效,现在它可以按照我的需要工作。您的更新查询不会返回任何内容,这意味着这基本上是
void
函数,它应该在标题返回无效中定义,而不是返回字符..
。另外,当实际需要返回char/varchar/text时,只需使用返回text
,当前格式仍然不正确。