首页 > 解决方案 > 使用 sql 语言的 PostgreSQL 过程中的 IF 语法错误

问题描述

我正在编写如下的 PostgreSQL 程序

CREATE OR REPLACE PROCEDURE public.reply_proc(IN reply_by bigint, IN id bigint, IN reply character varying,IN reply_to bigint, IN status integer ,IN is_forward boolean DEFAULT false)
    LANGUAGE 'sql'
    
AS $BODY$ 
INSERT INTO replied(reply_by,id,created_date,status,is_forward,reply_to) VALUES(reply_by,id,
        CURRENT_TIMESTAMP(3),status,is_forward,reply_to);

IF(status != 0) 
THEN
    UPDATE table2 SET status = 2,updated_on = CURRENT_TIMESTAMP(3)  WHERE id = id;
END 

IF(is_forward == false)
UPDATE table3 SET status = 4,updated_on = CURRENT_TIMESTAMP(3) WHERE id = citizen_app_id;

$BODY$;

IF 'Invalid Syntax' 出现错误 我是 PostgreSQL 新手。我们怎么能做到这一点?

标签: postgresql

解决方案


推荐阅读