Re: Obtain boolean value of expression in PLPGSQL
От | Pavel Stehule |
---|---|
Тема | Re: Obtain boolean value of expression in PLPGSQL |
Дата | |
Msg-id | Pine.LNX.4.44.0311041504050.12294-100000@kix.fsv.cvut.cz обсуждение исходный текст |
Ответ на | Obtain boolean value of expression in PLPGSQL (Max Speransky <mx@lucky.net>) |
Список | pgsql-general |
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. > >
В списке pgsql-general по дате отправления: