Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Example of plpgsql RETURN NEXT



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(at)momjian(dot)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 &gt; 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>


Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group