Re: [pgbr-geral] Parãmetros para uma view

2011-09-09 Por tôpico Diogo Borsoi
Obrigado a todos, vou testar algumas soluções sugeridas e postarei o resultado.


[]s



2011/9/8 Osvaldo Kussama osvaldo.kuss...@gmail.com:
 2011/9/8, Diogo Borsoi diogobor...@gmail.com:
 Pessoal,

 Tenho uma view que precisará, se possível, ser reutilizada com
 parâmetros distintos.

 Ex:
  SELECT to_char(tabela1.data, 'mmdd'::text) AS data, count(*) AS
 total_00_06
    FROM tabela1
   WHERE tabela1.latitude = (- 01.0896::double precision) AND
 tabela1.latitude = (- 02.9621::double precision) AND
 tabela1.longitude = (- 03.1451::double precision) AND
 tabela1.longitude = (- 01.2345::double precision) AND tabela1.data =
 (now() + '03:00:00'::interval - '180 days'::interval) AND
 to_number(to_char(tabela1.data - '03:00:00'::interval, 'hh24'::text),
 '99'::text) = 0::numeric AND to_number(to_char(tabela1.data -
 '03:00:00'::interval, 'hh24'::text), '99'::text) = 6::numeric
   GROUP BY to_char(tabela1.data, 'mmdd'::text)
   ORDER BY to_char(tabela1.data, 'mmdd'::text);

 Neste exemplo eu precisaria variar a latitude, longitude e data (180)
 passando os novos valores por parâmetro. É possível?



 Avalie se prepared statements atende:
 http://www.postgresql.org/docs/current/interactive/sql-prepare.html

 Osvaldo

 Obs.: Você realmente precisa de todas estas formatações em sua consulta?
 ___
 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


[pgbr-geral] Parãmetros para uma view

2011-09-08 Por tôpico Diogo Borsoi
Pessoal,

Tenho uma view que precisará, se possível, ser reutilizada com
parâmetros distintos.

Ex:
 SELECT to_char(tabela1.data, 'mmdd'::text) AS data, count(*) AS total_00_06
   FROM tabela1
  WHERE tabela1.latitude = (- 01.0896::double precision) AND
tabela1.latitude = (- 02.9621::double precision) AND
tabela1.longitude = (- 03.1451::double precision) AND
tabela1.longitude = (- 01.2345::double precision) AND tabela1.data =
(now() + '03:00:00'::interval - '180 days'::interval) AND
to_number(to_char(tabela1.data - '03:00:00'::interval, 'hh24'::text),
'99'::text) = 0::numeric AND to_number(to_char(tabela1.data -
'03:00:00'::interval, 'hh24'::text), '99'::text) = 6::numeric
  GROUP BY to_char(tabela1.data, 'mmdd'::text)
  ORDER BY to_char(tabela1.data, 'mmdd'::text);

Neste exemplo eu precisaria variar a latitude, longitude e data (180)
passando os novos valores por parâmetro. É possível?


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


Re: [pgbr-geral] Parãmetros para uma view

2011-09-08 Por tôpico Fábio Gibon - Comex System
View não recebe parâmetros... uma solução bastante simples é você ter uma 
tabela com estes parâmetros e usá-la na view, então você altera os valores 
na tabela e consulta novamente a view...

sds
Fábio Gibon
- Original Message - 
From: Diogo Borsoi diogobor...@gmail.com
To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Sent: Thursday, September 08, 2011 7:54 PM
Subject: [pgbr-geral] Parãmetros para uma view


Pessoal,

Tenho uma view que precisará, se possível, ser reutilizada com
parâmetros distintos.

Ex:
 SELECT to_char(tabela1.data, 'mmdd'::text) AS data, count(*) AS 
total_00_06
   FROM tabela1
  WHERE tabela1.latitude = (- 01.0896::double precision) AND
tabela1.latitude = (- 02.9621::double precision) AND
tabela1.longitude = (- 03.1451::double precision) AND
tabela1.longitude = (- 01.2345::double precision) AND tabela1.data =
(now() + '03:00:00'::interval - '180 days'::interval) AND
to_number(to_char(tabela1.data - '03:00:00'::interval, 'hh24'::text),
'99'::text) = 0::numeric AND to_number(to_char(tabela1.data -
'03:00:00'::interval, 'hh24'::text), '99'::text) = 6::numeric
  GROUP BY to_char(tabela1.data, 'mmdd'::text)
  ORDER BY to_char(tabela1.data, 'mmdd'::text);

Neste exemplo eu precisaria variar a latitude, longitude e data (180)
passando os novos valores por parâmetro. É possível?


Att.
Diogo
___
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] Parãmetros para uma view

2011-09-08 Por tôpico Tiago Adami
Em 8 de setembro de 2011 19:57, Fábio Gibon - Comex System
gi...@comexsystem.com.br escreveu:
 View não recebe parâmetros... uma solução bastante simples é você ter uma
 tabela com estes parâmetros e usá-la na view, então você altera os valores
 na tabela e consulta novamente a view...


Alternativamente você pode criar uma FUNCTION que retorne o tipo
TABLE [1]. A nova função deverá ser utilizada no FROM da cláusula SQL
SELECT, ao invés de utilizar a VIEW.

[1] http://www.postgresql.org/docs/9.0/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


Re: [pgbr-geral] Parãmetros para uma view

2011-09-08 Por tôpico Osvaldo Kussama
2011/9/8, Diogo Borsoi diogobor...@gmail.com:
 Pessoal,

 Tenho uma view que precisará, se possível, ser reutilizada com
 parâmetros distintos.

 Ex:
  SELECT to_char(tabela1.data, 'mmdd'::text) AS data, count(*) AS
 total_00_06
FROM tabela1
   WHERE tabela1.latitude = (- 01.0896::double precision) AND
 tabela1.latitude = (- 02.9621::double precision) AND
 tabela1.longitude = (- 03.1451::double precision) AND
 tabela1.longitude = (- 01.2345::double precision) AND tabela1.data =
 (now() + '03:00:00'::interval - '180 days'::interval) AND
 to_number(to_char(tabela1.data - '03:00:00'::interval, 'hh24'::text),
 '99'::text) = 0::numeric AND to_number(to_char(tabela1.data -
 '03:00:00'::interval, 'hh24'::text), '99'::text) = 6::numeric
   GROUP BY to_char(tabela1.data, 'mmdd'::text)
   ORDER BY to_char(tabela1.data, 'mmdd'::text);

 Neste exemplo eu precisaria variar a latitude, longitude e data (180)
 passando os novos valores por parâmetro. É possível?



Avalie se prepared statements atende:
http://www.postgresql.org/docs/current/interactive/sql-prepare.html

Osvaldo

Obs.: Você realmente precisa de todas estas formatações em sua consulta?
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral