PL / pgSQL prüft, ob eine Zeile existiert
Ich schreibe eine Funktion in PL / pgSQL und suche nach dem einfachsten Weg, um zu überprüfen, ob eine Zeile existiert.
Im Moment wähle ich eininteger
in einboolean
, was nicht wirklich funktioniert. Ich habe noch nicht genug Erfahrung mit PL / pgSQL, um zu wissen, wie das am besten funktioniert.
Hier ist ein Teil meiner Funktion:
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;
Aktualisieren - Ich mache im Moment so etwas:
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;