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

Reply via email to