Re: Pl/Pgsql function troubles: FOLLOW UP - Mailing list pgsql-novice

From Joshua b. Jore
Subject Re: Pl/Pgsql function troubles: FOLLOW UP
Date
Msg-id Pine.BSO.4.40.0204161840140.24267-100000@kitten.greentechnologist.org
Whole thread Raw
In response to Pl/Pgsql function troubles: FOLLOW UP  (Jeff Post <postjeff@uwm.edu>)
List pgsql-novice
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Consider this:

DROP FUNCTION list_of_membership(INTEGER,TEXT);
CREATE FUNCTION list_of_membership(INTEGER,TEXT) RETURNS TEXT AS '
DECLARE
    membership_rec RECORD;
    membership TEXT;
BEGIN
    FOR membership_rec IN EXECUTE
        ''SELECT name FROM org_details WHERE person_id = ''::text
        || CAST($1 AS TEXT)
        || '' AND type = ''::text
        || quote_literal($2)
        || '' ORDER BY name;'';
    LOOP
        IF membership IS NULL THEN
            membership := membership_rec.name;
        ELSE
            membership := membership
                || '', ''::text
                || membership_rec.name;
        END IF;
    END LOOP;
    RETURN membership;
END;
' LANGUAGE 'plpgsql' WITH (isstrict);


And here is how you want to be calling the function.
SELECT list_of_membership(1,'department');

Joshua b. Jore
http://www.greentechnologist.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (OpenBSD)
Comment: For info see http://www.gnupg.org

iD8DBQE8vWoHfexLsowstzcRAp26AJ4jqyb9Mk3VpPvpq3WMrhab4G2ceACg8ibr
R+ljghBHsTa5k9JFFuf6bNA=
=uUP3
-----END PGP SIGNATURE-----


pgsql-novice by date:

Previous
From: Andrew McMillan
Date:
Subject: Re: Email in postgres
Next
From: Pam Wampler
Date:
Subject: Coalesce with Timestamp,Nulls,and Concatenation