Hello You are on wrong way.
Try like DECLARE b RECORD; s TEXT; op TEXT; BEGIN op := ''=''; s := ''SELECT 3 ''|| op || ''|| $1 || ''AS b''; FOR b IN EXECUTE s LOOP RETURN b.b; END LOOP; END; Regards Pavel On Tue, 4 Nov 2003, Max Speransky wrote: > Hello > > My task is to validate expression and get value of it in boolean variable. > I try to do following: > CREATE OR REPLACE FUNCTION get_value(integer) RETURNS boolean AS' > DECLARE > Ret boolean; > Op TEXT = ''=''; > BEGIN > > Ret := 3 || Op || $1; > RETURN Ret; > END; > ' language 'plpgsql'; > > when I try to execute this function I get such result: > > bill=# select get_value(3); > WARNING: Error occurred while executing PL/pgSQL function get_value > WARNING: line 6 at assignment > ERROR: Bad boolean external representation '3=3' > bill=# > > So, how can I explain that resulting type must be boolean ? Also, I try to > play with SELECT INTO with same result. > > ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly