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

From Tarlika Elisabeth Schmitz
Subject Re: PL/pgSQL: SELECT INTO only if result count = 1
Date
Msg-id 20110827232441.2099f22e@dick.coachhouse
Whole thread Raw
In response to PL/pgSQL: SELECT INTO only if result count = 1  (Tarlika Elisabeth Schmitz <postgresql6@numerixtechnology.de>)
Responses Re: PL/pgSQL: SELECT INTO only if result count = 1
List pgsql-general
On Sat, 27 Aug 2011 18:45:42 -0300
Osvaldo Kussama <osvaldo.kussama@gmail.com> wrote:

>2011/8/27, Tarlika Elisabeth Schmitz
><postgresql6@numerixtechnology.de>:
>> 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
>>
>>[...]
>> --
>
>
>Use:
>GET DIAGNOSTICS integer_var = ROW_COUNT;


SELECT INTO
country_id, region_id, town_id
country_fk, region_fk, id
FROM town
WHERE ...;

GET DIAGNOSTICS cnt = ROW_COUNT;
RAISE DEBUG 'COUNT %', cnt;

always returns 1


--

Best Regards,
Tarlika Elisabeth Schmitz

pgsql-general by date:

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