Hi All, I am trying to figure out how to call one PLSQL function from another, specifically how to access the return values from the callee.
I made two test functions, A and B. A calls B. B returns two values: OUT tid integer OUT msg character varying In caller function A, I do the following: SELECT B(1) INTO rec; -- rec declared as a RECORD RAISE DEBUG 'XXX % [%]', rec.tid, rec.msg; The runtime error I got was: ERROR: record "rec" has no field "tid" SQL state: 42703 The full function code is below. Thanks, CYW -------------------------------- FUNCTION B(IN id integer, OUT tid integer, OUT msg character varying) RETURNS record AS BODY$ DECLARE BEGIN msg := 'MSG'; tid := 100; RETURN; END; FUNCTION A(IN x integer, IN "text" character varying, OUT whatever character varying) RETURNS character varying AS $BODY$ DECLARE rec RECORD; tid int4; msg varchar; BEGIN SELECT B(1) INTO rec; RAISE DEBUG 'XXX % [%]', rec.tid, rec.msg; RETURN; END;