PL / pgSQL проверка наличия строки
Я пишу функцию в PL / pgSQL, и я ищу самый простой способ проверить, существует ли строка.
Прямо сейчас я выбираюinteger
вboolean
, который на самом деле не работает. У меня недостаточно опыта работы с PL / pgSQL, но я не знаю, как лучше всего это сделать.
Вот часть моей функции:
DECLARE person_exists boolean;
BEGIN
person_exists := FALSE;
SELECT "person_id" INTO person_exists
FROM "people" p
WHERE p.person_id = my_person_id
LIMIT 1;
IF person_exists THEN
-- Do something
END IF;
END; $ LANGUAGE plpgsql;
Update - Сейчас я делаю что-то вроде этого:
DECLARE person_exists integer;
BEGIN
person_exists := 0;
SELECT count("person_id") INTO person_exists
FROM "people" p
WHERE p.person_id = my_person_id
LIMIT 1;
IF person_exists < 1 THEN
-- Do something
END IF;