Heloisa Fernanda escreveu:
> 
> Estou precisando resolver a seguinte questão:
> 
> CREATE OR REPLACE FUNCTION teste_regra()
>   RETURNS void AS
> $BODY$
>     DECLARE
>         valor1       integer=2;
>         valor2       integer=3;
>         teste        varchar='<='; -- como usar o operador armazenado na 
> variavel
>     BEGIN
>                                
>             IF valor1 teste valor2 THEN
> 
>                 RAISE NOTICE 'verdadeiro';
> 
>             ELSE
> 
>                 RAISE NOTICE 'falso';
>             END IF;
> 
>     END;
> $BODY$
>   LANGUAGE 'plpgsql' VOLATILE;
> 


Veja se atende:

CREATE OR REPLACE FUNCTION teste_regra() RETURNS void AS
$BODY$
        DECLARE
                valor1       integer=2;
                valor2       integer=3;
                teste        varchar='<=';
                result       boolean;
BEGIN

        EXECUTE 'SELECT ' || valor1 || ' ' || teste || ' ' || valor2 || 
';' INTO result;
        IF result THEN
                RAISE NOTICE 'verdadeiro';
        ELSE
                RAISE NOTICE 'falso';
        END IF;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;

Osvaldo
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a