#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 сообщает мне следующую ошибку:
У вас есть какие-либо идеи, как решить эту проблему?
Комментарии:
1. Нет соответствия
END IF;
дляIF ... THEN
. См. Условные обозначения2. Спасибо за вашу помощь, я решил несколько ошибок выше и не понял КОНЦА, ЕСЛИ;