Em 13 de setembro de 2012 17:02, Anselmo Silva <anselmo....@gmail.com> escreveu:
> Foi o que pensei. Que pena! Seria muito útil. Obrigado Vinícios.

Se você precisa de algo parecido com constantes, crie funções PL/SQL
sem argumentos e com a cláusula IMMUTABLE [1]. Definitivamente não é a
mesma coisa, mas terá o mesmo comportamento. Por exemplo:

CREATE OR REPLACE FUNCTION UM() RETURNS INTEGER AS
$BODY$
BEGIN
        RETURN 1;
END
$BODY$
LANGUAGE 'PlPgSQL' IMMUTABLE

Parece absurdo, mas se você possui constantes matemáticas com ponto
flutuante, pode ser útil.

Uso:

SELECT UM() + UM()

---
Dica pessoal: considere criar uma função que retorne valores de
parâmetros, e mantenha estes parâmetros em uma tabela. Seria algo
como:

SELECT GET_PARAM('UM') + GET_PARAM('UM')
---


[1] http://www.postgresql.org/docs/9.1/static/sql-createfunction.html

-- 
TIAGO J. ADAMI
http://www.adamiworks.com
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a