Book Image

PostgreSQL Server Programming - Second Edition

Book Image

PostgreSQL Server Programming - Second Edition

Overview of this book

Table of Contents (21 chapters)
PostgreSQL Server Programming Second Edition
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

OUT parameters and records


Using a pre-existing type, table, or view for compound return types is a simple mechanism for returning more complex structures. However, there is often a need to define the return type of the function with the function itself and not depend on other objects. This is especially true when managing changes to a running application; so, over a period of time, two better ways to handle this have been added to PostgreSQL.

OUT parameters

Until now, all the functions we created used parameters that are defined as IN parameters. The IN parameters are meant to just pass information into the function that can be used, but not returned. Parameters can also be defined as OUT or INOUT parameters if you want the function to return some information as well:

CREATE OR REPLACE FUNCTION positives(
                     INOUT a int, 
                     INOUT b int, 
                     INOUT c int)
AS $$
BEGIN
    IF a < 0 THEN a = null; END IF;
    IF b < 0 THEN b = null; END...