tenho 2 ou 3 views para "facilitar" a digitação de uma SQL por ex. assim... CREATE OR REPLACE VIEW stdfaturamento AS SELECT SUM(case WHEN EXTRACT(MONTH FROM DATA) = EXTRACT(MONTH FROM CURRENT_DATE- interval '00 MONTH ') THEN (case when TIPO = 'E' then (-1) else 1 end) * valornf ELSE 0 END) AS mes00, SUM(case WHEN EXTRACT(MONTH FROM DATA) = EXTRACT(MONTH FROM CURRENT_DATE- interval '01 MONTH ') THEN (case when TIPO = 'E' then (-1) else 1 end) * valornf ELSE 0 END) AS mes01, SUM(case WHEN EXTRACT(MONTH FROM DATA) = EXTRACT(MONTH FROM CURRENT_DATE- interval '02 MONTH ') THEN (case when TIPO = 'E' then (-1) else 1 end) * valornf ELSE 0 END) AS mes02, .. .. SUM(case WHEN EXTRACT(MONTH FROM DATA) = EXTRACT(MONTH FROM CURRENT_DATE- interval '11 MONTH ') THEN (case when TIPO = 'E' then (-1) else 1 end) * valornf ELSE 0 END) AS mes11, from notafiscal_c where dataem between datainicial12m() and current_date and status = 'OK' group by nome_cliente. A View está um pouco simplificada, mas é por ai mesmo...Acontece o seguinte, Quando dou o "Create Or Replace" e utilizo no mesmo dia...ele funciona...porem...a ultima vez que rodei este Create o Replace foi no mes de agosto e quando fui lista a view somente tenho dados de agosto para tras....Ou seja he como se o current_date ficase congelado com a data no momento de rodar o Create or replace. Eu queria que ese current_date seja a data do servidor no "momento" de "executar" a view. Não sei se fui muito claro, alias nao sei se estou cometendo erro de conceito ou as view funcionam dessa mesma foram... Obs.: A função datainicial12m() me retorna uma data com o primeiro dia do mes atual - 12. Entao tenho uma view que me deveria lista o faturamento dos ultimos 11 meses mais o mes atual, agrupado por clientes. Santiago - NSR Informatica
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral