Re: [pgbr-geral] Ajuda com query para soma de horas no banco

2012-01-13 Por tôpico Flávio Alves Granato
Em 12 de janeiro de 2012 18:52, Osvaldo Kussama
osvaldo.kuss...@gmail.com escreveu:
 Em 12 de janeiro de 2012 18:30, Flávio Alves Granato
 flavio.gran...@gmail.com escreveu:
 Em 12 de janeiro de 2012 18:22, Osvaldo Kussama
 osvaldo.kuss...@gmail.com escreveu:
 Mas se a saída pode ser no dia seguinte não tem sentido você exigir
 que as datas de entrada e saída sejam iguais.

 Sim, eu corrigi na nova query:

 select extract (hour from sum(age(tempo_saida,
 tempo_entrada))::interval) || ':' || extract (minute from
 sum(age(tempo_saida, tempo_entrada))::interval)
 from tempos
 where extract(month from tempo_entrada) = 1
 ___


 Creio que fica mais fácil fazer:
 select to_char(sum(age(tempo_saida, tempo_entrada)), 'HH24:MI')
 from tempos
 where extract(month from tempo_entrada) = 1;

muito obrigado, este era meu próximo passo.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] dúvida trigger

2012-01-13 Por tôpico Danilo Silva
Leia sobre RULES.

Abs.

Danilo

Em 13 de janeiro de 2012 10:20, Pedro Costa pedrocostaa...@sapo.ptescreveu:

 Pessoal,


 eu tenho o seguinte trigger e função:

 http://pastebin.com/KxxTekd0


 ele executa o trigger sempre para todos os registos, será que podem
 dizer-me como faço para que ele execute apenas para novos registos e
 para campos com valor null?

 Obrigado
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] dúvida trigger

2012-01-13 Por tôpico Irineu
use uma RULE ou
crie a trigger no BEFORE INSERT da tabela e coloque uma condição  
NEW.campo IS NULL.


Em 13/01/2012 10:20, Pedro Costa escreveu:
 Pessoal,


 eu tenho o seguinte trigger e função:

 http://pastebin.com/KxxTekd0


 ele executa o trigger sempre para todos os registos, será que podem
 dizer-me como faço para que ele execute apenas para novos registos e
 para campos com valor null?

 Obrigado
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



-- 
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] dúvida trigger

2012-01-13 Por tôpico Danilo Silva
Mas Irineu, até onde eu sei, utilizando trigger, independentemente do
resultado da função o evento acontece, ou seja, se for insert, esse
registro será inserido, estando null ou não. Creio que a solução estaria na
RULE.

Danilo

Em 13 de janeiro de 2012 12:01, Irineu iri...@senda.inf.br escreveu:

 use uma RULE ou
 crie a trigger no BEFORE INSERT da tabela e coloque uma condição
 NEW.campo IS NULL.


 Em 13/01/2012 10:20, Pedro Costa escreveu:
  Pessoal,
 
 
  eu tenho o seguinte trigger e função:
 
  http://pastebin.com/KxxTekd0
 
 
  ele executa o trigger sempre para todos os registos, será que podem
  dizer-me como faço para que ele execute apenas para novos registos e
  para campos com valor null?
 
  Obrigado
  ___
  pgbr-geral mailing list
  pgbr-geral@listas.postgresql.org.br
  https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
 


 --
 Irineu Raymundo
 Programador/Consultor Técnico
 Senda Engenharia de Dados Ltda.

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] dúvida trigger

2012-01-13 Por tôpico Irineu

Em 13/01/2012 13:41, Danilo Silva escreveu:
Mas Irineu, até onde eu sei, utilizando trigger, independentemente do 
resultado da função o evento acontece, ou seja, se for insert, esse 
registro será inserido, estando null ou não. Creio que a solução 
estaria na RULE.


Danilo

Em 13 de janeiro de 2012 12:01, Irineu iri...@senda.inf.br 
mailto:iri...@senda.inf.br escreveu:


use uma RULE ou
crie a trigger no BEFORE INSERT da tabela e coloque uma condição
NEW.campo IS NULL.



Caro Danilo,

Entendi q o nosso colega gostaria q a trigger fosse disparada apenas 
para registros novos e não o INSERT na tabela em si.
Mesmo assim é possível usar a trigger, no BEFORE INSERT, coloca a 
condição q desejar dentro dela e faz um RETURN NEW se atender a condição 
ou um RETURN NULL se quiser chutar o registro, cfe exemplo de uma 
trigger q tenho no BEFORE INSERT:


  IF COALESCE(NEW.cod_componente,'') IN ('PAP','SUP')  THEN
 NEW.quantidade:= 1*COALESCE((SELECT a.quantidade FROM 
senda.ind_03_03_02_01 a WHERE a.id = NEW.id_op),1);

 RETURN NEW;
  ELSEIF COALESCE(NEW.quantidade,0) = 0 THEN
 RETURN NULL;
  END IF;

no caso do campo quantidade for 0 e os componentes nao forem 'PAP' e 
'SUP' o banco nao executa o INSERT desse registro.


Irineu.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] dúvida trigger

2012-01-13 Por tôpico Danilo Silva
Vivendo e apredendendo, hehehe

Em 13 de janeiro de 2012 14:04, Irineu iri...@senda.inf.br escreveu:

  Em 13/01/2012 13:41, Danilo Silva escreveu:

 Mas Irineu, até onde eu sei, utilizando trigger, independentemente do
 resultado da função o evento acontece, ou seja, se for insert, esse
 registro será inserido, estando null ou não. Creio que a solução estaria na
 RULE.

 Danilo

 Em 13 de janeiro de 2012 12:01, Irineu iri...@senda.inf.br escreveu:

 use uma RULE ou
 crie a trigger no BEFORE INSERT da tabela e coloque uma condição
 NEW.campo IS NULL.


 Caro Danilo,

 Entendi q o nosso colega gostaria q a trigger fosse disparada apenas para
 registros novos e não o INSERT na tabela em si.
 Mesmo assim é possível usar a trigger, no BEFORE INSERT, coloca a condição
 q desejar dentro dela e faz um RETURN NEW se atender a condição ou um
 RETURN NULL se quiser chutar o registro, cfe exemplo de uma trigger q
 tenho no BEFORE INSERT:

   IF COALESCE(NEW.cod_componente,'') IN ('PAP','SUP')  THEN
  NEW.quantidade:= 1*COALESCE((SELECT a.quantidade FROM
 senda.ind_03_03_02_01 a WHERE a.id = NEW.id_op),1);
  RETURN NEW;
   ELSEIF COALESCE(NEW.quantidade,0) = 0 THEN
  RETURN NULL;
   END IF;

 no caso do campo quantidade for 0 e os componentes nao forem 'PAP' e 'SUP'
 o banco nao executa o INSERT desse registro.

 Irineu.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Postgres 9.1

2012-01-13 Por tôpico Irineu
Senhores,

Estou usando a versão 9.0, vale a pena migrar para 9.1 ?

-- 
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Postgres 9.1

2012-01-13 Por tôpico Euler Taveira de Oliveira
On 13-01-2012 16:51, Irineu wrote:
 Estou usando a versão 9.0, vale a pena migrar para 9.1 ?
 
É sempre recomendável atualizar. Toda nova versão apresenta melhorias mas
também introduz incompatibilidades. Homologue os seus sistemas antes de fazer
a migração. Leia as notas de lançamento [1] para saber quais são as melhorias
e incompatibilidades.


[1] http://www.postgresql.org/docs/current/static/release-9-1.html


-- 
   Euler Taveira de Oliveira - Timbira   http://www.timbira.com.br/
   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Postgres 9.1

2012-01-13 Por tôpico Danilo Silva
Na minha concepção COM CERTEZA. Não havendo restrições que impeça a
migração, sempre é conveniente manter o PostgreSQL atualizado, pois assim
você dispõem de novos recursos e/ou melhorias em outros. Um exemplo (não
tenho muita certeza) é a replicação sincrona, não está presente na versão
9.0.

Abs.
Danilo

Em 13 de janeiro de 2012 17:51, Irineu iri...@senda.inf.br escreveu:

 Senhores,

 Estou usando a versão 9.0, vale a pena migrar para 9.1 ?

 --
 Irineu Raymundo
 Programador/Consultor Técnico
 Senda Engenharia de Dados Ltda.

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral