PL/pgSQL: SELECT INTO only if result count = 1 - Mailing list pgsql-general

From Tarlika Elisabeth Schmitz
Subject PL/pgSQL: SELECT INTO only if result count = 1
Date
Msg-id 20110827211421.320e4c70@dick.coachhouse
Whole thread Raw
List pgsql-general
Hello,

In a PL/pgSQL trigger function, I try to select a record from table
"town" below.

I am only interested in the result if the returned result set contains
exactly one result.
If there is more than one result, I want to log the fact.

EXAMPLE pseudo code

select
country_fk, region_fk, id
from town
where name = 'Newcastle'

if found and count = 1
  populate  country_id, region_id, town_id
else
  raise notice 'ambiguous %', town.name

=======

CREATE TABLE town
(
  country_fk character varying(3) NOT NULL,
  region_fk character varying(3) NOT NULL,
  id serial NOT NULL,
  "name" character varying(60) NOT NULL,
  CONSTRAINT ...
)
--

Best Regards,
Tarlika Elisabeth Schmitz

pgsql-general by date:

Previous
From: Darren Duncan
Date:
Subject: Re: Still no way to install PostGres on os x Lion?
Next
From: Tarlika Elisabeth Schmitz
Date:
Subject: Re: PL/pgSQL: SELECT INTO only if result count = 1