Um dos pontos importantes para o sucesso do projeto é referente a menor quantidade de alteração do código já existente. Tentar compatibilizar as funções usadas no ORACLE, consiste em uma das tarefas de preparação do ambiente a fim de manter padrão o leque de funções já usadas. Nas próximas postagens estaremos falando destas compatibilizações, O NVL será a primeira função apresentada.
- NLV(P1, P2) -> Retorna o P2 caso P1 seja nulo
- NVL(Varchar, Varchar)
- NLV(Date,Date)
- NVL(Integer,Integer)
- NVL(Timestamp,Timestamp)
- NVL(Numeric,Numeric)
Código pl/pgSQL para o tipo varchar
CREATE OR REPLACE FUNCTION nvl (valor varchar, valor_padrao varchar) RETURNS varchar AS
$body$
declare retorno varchar;
begin
select into retorno coalesce(valor,valor_padrao);
return retorno;
end;
$body$
LANGUAGE 'plpgsql'
Um comentário:
Depois disso descobrimos que algo melhor seria usar o tipo anyelement assim:
CREATE OR REPLACE FUNCTION nvl (anyelement, anyelement) RETURNS anyelement AS
$body$
select coalesce($1,$2);
$body$ language 'sql';
Postar um comentário