我很新,并试图教我自己的PostgreSQL。目前我正在尝试创建一个函数,该函数根据同一个表中另外两列的值更新列。我正在创建函数,因为我想将其称为在编辑列值时执行的触发器。所有colomns都持有文字。
我的代码是:
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;
但是我收到了“返回类型不匹配”的错误,似乎无法使函数正常工作。我错过了什么吗?
答案 0 :(得分:0)
谢谢@KristoMägi,我将标题从字符调整为无效,现在它可以正常工作。