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