Example of plpgsql RETURN NEXT

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Example of plpgsql RETURN NEXT
Дата
Msg-id 200710260111.l9Q1Bwd24364@momjian.us
обсуждение исходный текст
Список pgsql-docs
Seems we never had an example in the documentation of plpgsql RETURN
NEXT.  I got a submission from Ulrich Kroener and have applied it,
attached.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://postgres.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +
Index: doc/src/sgml/plpgsql.sgml
===================================================================
RCS file: /cvsroot/pgsql/doc/src/sgml/plpgsql.sgml,v
retrieving revision 1.116
diff -c -c -r1.116 plpgsql.sgml
*** doc/src/sgml/plpgsql.sgml    25 Jul 2007 04:19:08 -0000    1.116
--- doc/src/sgml/plpgsql.sgml    26 Oct 2007 01:09:08 -0000
***************
*** 1411,1426 ****
       </para>

       <para>
!       Functions that use <command>RETURN NEXT</command> or
!       <command>RETURN QUERY</command> should be called in the
!       following fashion:

  <programlisting>
! SELECT * FROM some_func();
  </programlisting>

!       That is, the function must be used as a table source in a
!       <literal>FROM</literal> clause.
       </para>

       <note>
--- 1411,1447 ----
       </para>

       <para>
!       Here is an example of a function using <command>RETURN
!       NEXT</command>:

  <programlisting>
! CREATE TABLE foo (fooid INT, foosubid INT, fooname TEXT);
! INSERT INTO foo VALUES (1, 2, 'three');
! INSERT INTO foo VALUES (4, 5, 'six');
!
! CREATE OR REPLACE FUNCTION getAllFoo() RETURNS SETOF foo AS
! $BODY$
! DECLARE
!     r foo%rowtype;
! BEGIN
!     FOR r IN SELECT * FROM foo
!     WHERE fooid > 0
!     LOOP
!         -- can do some processing here
!         RETURN NEXT r; -- return next row of SELECT
!     END LOOP;
!     RETURN;
! END
! $BODY$
! LANGUAGE 'plpgsql' ;
!
! SELECT * FROM getallfoo();
  </programlisting>

!       Note that functions using <command>RETURN NEXT</command> or
!       <command>RETURN QUERY</command> must be called as a table source in
!       a <literal>FROM</literal> clause.
!
       </para>

       <note>

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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: [pgsql-advocacy] Pattern for use of the alias "Postgres"
Следующее
От: Jeff Davis
Дата:
Сообщение: Tsearch docs question