Postgres: создать функцию для удаления элемента с предыдущей проверкой

#postgresql #function

#postgresql #функция

Вопрос:

Я пытаюсь создать функцию в Postgres для удаления записи, но проверяю, существует ли запись, используя 2 параметра:

 CREATE FUNCTION editor.full_delete_node(_id uuid, _name character varying)
    RETURNS boolean
    LANGUAGE 'plpgsql'

    COST 1
    VOLATILE PARALLEL SAFE
AS $BODY$
DECLARE 

BEGIN

IF exists(select 1 from editor.node WHERE id = _id AND name= _name) = false THEN
    RAISE EXCEPTION SQLSTATE '90001';

DELETE FROM editor.nodE WHERE id = _id AND name = _name;
    
DELETE FROM editor.graPHIC WHERE id = _id AND name = _name;
    
DELETE FROM editor.topology WHERE id = _id AND name = _name;

END
$BODY$;

ALTER FUNCTION editor.full_del_nodo(uuid, character varying)
    OWNER TO postgres;

  

Но Postgres сообщает мне следующую ошибку:

Ошибка во втором теге $BODY $

У вас есть какие-либо идеи, как решить эту проблему?

Комментарии:

1. Нет соответствия END IF; для IF ... THEN . См. Условные обозначения

2. Спасибо за вашу помощь, я решил несколько ошибок выше и не понял КОНЦА, ЕСЛИ;