Re: PL/PGSQL help for getting number of rows matched.

Поиск
Список
Период
Сортировка
От Nigel J. Andrews
Тема Re: PL/PGSQL help for getting number of rows matched.
Дата
Msg-id Pine.LNX.4.21.0311101229180.7051-100000@ponder.fairway2k.co.uk
обсуждение исходный текст
Ответ на Re: PL/PGSQL help for getting number of rows matched.  (Pavel Stehule <stehule@kix.fsv.cvut.cz>)
Ответы Re: PL/PGSQL help for getting number of rows matched.  (Rajesh Kumar Mallah <mallah@trade-india.com>)
Список pgsql-general
On Mon, 10 Nov 2003, Pavel Stehule wrote:

> Hello,
>
> it isn't problem. You can write
>
> SELECT INTO ....
> IF FOUND THEN
>  ...
> END IF
>
> or
>
> SELECT INTO  ..
> GET DIAGNOSTICS variable = ROW_COUNT;
> IF variable > 0 THEN
>   ...
> END IF
>
> You can see on
> http://developer.postgresql.org/docs/postgres/plpgsql-statements.html#PLPGSQL-SELECT-INTO

Probably sectino 37.7.4 of the docs ( in
http://developer.postgresql.org/docs/postgres/plpgsql-control-structures.html
) is a better source as shown lower.

>
> On Mon, 10 Nov 2003, Rajesh Kumar Mallah wrote:
>
> >
> > Hi,
> >
> > We need to implement following logic efficiently.
> >
> > SELECT * from some_table where .... [ Query 1 ]
> >
> > IF rows_matched = 1 THEN
> >
> >     use the single row that matched.
> >
> > ELSIF
> >
> >     loop thru the results of [Query 1]
> >
> > END IF;
> >
> >
> > Currently i am doing select count(*) for getting rows_matched
> > in the top and repeating the same query in both branches of IF
> > to get the data of matching rows.
> >
> > I have tried GET DIAGNOSTICS ROW_COUNT but for
> > "SELECTS" if returns 0 or 1 based on matching
> >
> > I am sure there exists better methods. Kindly post a link
> > to better documentation of pl/pgsql or point out section in
> > the standard docs that discuss this issue.

DECLARE
    tup RECORD;
BEGIN
    FOR tup IN select * from mytable
    LOOP
        Do the required action
    END LOOP;
END

Indeed, I'm not even sure how to loop through the results of the query using
the scheme you show above. What do you assign the results of the select to?


--
Nigel Andrews


В списке pgsql-general по дате отправления:

Предыдущее
От: Pavel Stehule
Дата:
Сообщение: Re: PL/PGSQL help for getting number of rows matched.
Следующее
От: "Jaime Casanova"
Дата:
Сообщение: Re: PL/PGSQL help for getting number of rows matched.