Once I've gotten multiple values back from a plpgsql function, how do I actually reference those values in another plpgsql function? I've tried several syntaxes and keep getting errors.
Various attempts are below.
Thanks.
On 2004.09.08 15:59 Joe Conway wrote:
Ah yes, that works too. For the record:
CREATE TYPE returntype AS (a INT, b INT); CREATE OR REPLACE FUNCTION return_multiple() RETURNS returntype LANGUAGE plpgsql AS ' DECLARE myvar returntype%rowtype; BEGIN myvar.a := 1; myvar.b := 2; RETURN myvar; END; '; SELECT * FROM return_multiple(); a | b ---+--- 1 | 2 (1 row)
PostgreSQL 7.3.4 on i386-redhat-linux-gnu, compiled by GCC i386-redhat-linux-gcc (GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)
CREATE FUNCTION return_multiple2() RETURNS returntype LANGUAGE plpgsql AS '
DECLARE
myvar returntype%rowtype;
a INT;
b INT;BEGIN
-- SELECT INTO a, b FROM return_multiple();
SELECT INTO a, b return_multiple();
myvar.a := a;
myvar.b := b;-- SELECT INTO myvar return_multiple();
RETURN myvar; END; ';
Karl <[EMAIL PROTECTED]> Free Software: "You don't pay back, you pay forward." -- Robert A. Heinlein
---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])
