PL/pgSQL vérifier si une ligne existe

Je suis en train d'écrire une fonction PL/pgSQL, et je suis à la recherche de la façon la plus simple pour vérifier si une ligne existe.

Maintenant je suis en Sélectionnant un integer dans un boolean, qui ne fonctionne pas vraiment. Je ne suis pas expérimenté avec PL/pgSQL encore assez pour connaître la meilleure façon de le faire.

Voici une partie de ma fonction:

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;

Mise à jour - je suis en train de faire quelque chose comme cela pour l'instant:

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;
InformationsquelleAutor nnyby | 2012-08-09