Re: PL/pgSQL: SELECT INTO only if result count = 1
От | Tarlika Elisabeth Schmitz |
---|---|
Тема | Re: PL/pgSQL: SELECT INTO only if result count = 1 |
Дата | |
Msg-id | 20110827232441.2099f22e@dick.coachhouse обсуждение исходный текст |
Ответ на | PL/pgSQL: SELECT INTO only if result count = 1 (Tarlika Elisabeth Schmitz <postgresql6@numerixtechnology.de>) |
Ответы |
Re: PL/pgSQL: SELECT INTO only if result count = 1
|
Список | 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 по дате отправления: