[pgbr-geral] Pegar nomes de colunas de um SQL qualquer

2012-08-27 Por tôpico Alexsander Rosa
Estou fazendo uma procedure executa_relatorio que recebe os parâmetros da
GUI, executa e gera um CSV -- de modo similar ao que já existe na GUI, mas
quero fazer via procedure pra poder usar até no console. Consigo executar
normalmente, com parãmetros e tudo o mais, mas não consegui pegar os nomes
das colunas.

Exemplo:
CREATE TABLE relatorio (nome_relat text primary key, comando_sql text);
INSERT INTO relatorio VALUES ('USUARIOS', 'SELECT cod_usuario, nome_usuario
FROM usuario');

# SELECT sp_executa_relatorio('USUARIOS');
1, fulano
2, beltrano

Eu gostaria que a primeira linha fosse cod_usuario, nome_usuario.

-- 
Atenciosamente,
Alexsander da Rosa
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Pegar nomes de colunas de um SQL qualquer

2012-08-27 Por tôpico Dickson S. Guedes
Em 27 de agosto de 2012 13:02, Alexsander Rosa
alexsander.r...@gmail.com escreveu:
 Estou fazendo uma procedure executa_relatorio que recebe os parâmetros da
 GUI, executa e gera um CSV -- de modo similar ao que já existe na GUI, mas
 quero fazer via procedure pra poder usar até no console. Consigo executar
 normalmente, com parãmetros e tudo o mais, mas não consegui pegar os nomes
 das colunas.


Talvez adaptando um pouco o seu código, você poderia utilizar
a extensão colnames [1].


[1] http://pgxn.org/dist/colnames/doc/colnames.html

[]s
-- 
Dickson S. Guedes
mail/xmpp: gue...@guedesoft.net - skype: guediz
http://guedesoft.net - http://www.postgresql.org.br
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Pegar nomes de colunas de um SQL qualquer

2012-08-27 Por tôpico Nelson Luiz Gonzaga
Em 27 de agosto de 2012 13:33, Dickson S. Guedes lis...@guedesoft.netescreveu:

 Em 27 de agosto de 2012 13:02, Alexsander Rosa
 alexsander.r...@gmail.com escreveu:
  Estou fazendo uma procedure executa_relatorio que recebe os parâmetros
 da
  GUI, executa e gera um CSV -- de modo similar ao que já existe na GUI,
 mas
  quero fazer via procedure pra poder usar até no console. Consigo executar
  normalmente, com parãmetros e tudo o mais, mas não consegui pegar os
 nomes
  das colunas.


 Talvez adaptando um pouco o seu código, você poderia utilizar
 a extensão colnames [1].


 [1] http://pgxn.org/dist/colnames/doc/colnames.html

 []s
 --
 Dickson S. Guedes
 mail/xmpp: gue...@guedesoft.net - skype: guediz
 http://guedesoft.net - http://www.postgresql.org.br
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


É isso que voce quer:
SELECT column_name FROM information_schema.columns WHERE table_name =
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Select de usuários que não se logam a 3 meses.

2012-08-27 Por tôpico Sidnei Vladisauskis
Fala pessoal,

Estou com uma dúvida aqui.

Tenho uma tabela de registro de login de usuários:

session_id | user_id | token | session_in | session_out

Como faço para dar um select nos usuários que não se logam á 3 meses?

se eu uso:

SELECT * FROM user_sesions WHERE session_in  CURRENT_DATE - INTERVAL '3
months'

ele pega os usuários que se logaram a menos de 3 meses, mas pega todos que
fizeram login e não o que não tem login a partir disso

Como faria esse select?

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


Re: [pgbr-geral] Select de usuários que não se logam a 3 meses.

2012-08-27 Por tôpico Edmilton Neves
Boas Pessoal!

Sidnei, acredito que vc tenha que pegar todos os usuários (na tabela
usuário) que não existam na tabela de sessões (user_session) nos últimos 3
meses.

Seu select final será algo mais ou menos assim:

select * from usuario u
where not exists( select 1 from user_sessions us
  where us.user_id = u.user_id
 and us.session_in  CURRENT_DATE - INTERVAL '3
months'
 )

Espero ter ajudado.

Gde. Abraço!
Ed

On Mon, Aug 27, 2012 at 2:00 PM, Sidnei Vladisauskis sid...@v7v.com.brwrote:

 Fala pessoal,

 Estou com uma dúvida aqui.

 Tenho uma tabela de registro de login de usuários:

 session_id | user_id | token | session_in | session_out

 Como faço para dar um select nos usuários que não se logam á 3 meses?

 se eu uso:

 SELECT * FROM user_sesions WHERE session_in  CURRENT_DATE - INTERVAL '3
 months'

 ele pega os usuários que se logaram a menos de 3 meses, mas pega todos que
 fizeram login e não o que não tem login a partir disso

 Como faria esse select?

 Obrigado

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




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


Re: [pgbr-geral] Select de usuários que não se logam a 3 meses.

2012-08-27 Por tôpico Sidnei Vladisauskis
Fala Edmilton,

Valeu pela resposta, acho que é isso mesmo, mas no caso teria que
ser: us.session_in  CURRENT_DATE - INTERVAL '3 months'

pq eu seleciono todos os usuários que tem login acima de 3 meses e pego os
que não estão nessa lista, que é os que não tem login acima de 3 meses,
certo?

[]'s

2012/8/27 Edmilton Neves edmilton.ne...@gmail.com

 Boas Pessoal!

 Sidnei, acredito que vc tenha que pegar todos os usuários (na tabela
 usuário) que não existam na tabela de sessões (user_session) nos últimos 3
 meses.

 Seu select final será algo mais ou menos assim:

 select * from usuario u
 where not exists( select 1 from user_sessions us
   where us.user_id = u.user_id
  and us.session_in  CURRENT_DATE - INTERVAL
 '3 months'
  )

 Espero ter ajudado.

 Gde. Abraço!
 Ed

 On Mon, Aug 27, 2012 at 2:00 PM, Sidnei Vladisauskis sid...@v7v.com.brwrote:

 Fala pessoal,

 Estou com uma dúvida aqui.

 Tenho uma tabela de registro de login de usuários:

 session_id | user_id | token | session_in | session_out

 Como faço para dar um select nos usuários que não se logam á 3 meses?

 se eu uso:

 SELECT * FROM user_sesions WHERE session_in  CURRENT_DATE - INTERVAL '3
 months'

 ele pega os usuários que se logaram a menos de 3 meses, mas pega todos
 que fizeram login e não o que não tem login a partir disso

 Como faria esse select?

 Obrigado

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




 --
 Ed


 ___
 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] Select de usuários que não se logam a 3 meses.

2012-08-27 Por tôpico Edmilton Neves
É isto mesmo Sidnei!

Vacilei no ctrl + c /  ctrl + v que fiz da sua query.

Gde. Abraço!

2012/8/27 Sidnei Vladisauskis sid...@v7v.com.br

 Fala Edmilton,

 Valeu pela resposta, acho que é isso mesmo, mas no caso teria que
 ser: us.session_in  CURRENT_DATE - INTERVAL '3 months'

 pq eu seleciono todos os usuários que tem login acima de 3 meses e pego os
 que não estão nessa lista, que é os que não tem login acima de 3 meses,
 certo?

 []'s


 2012/8/27 Edmilton Neves edmilton.ne...@gmail.com

 Boas Pessoal!

 Sidnei, acredito que vc tenha que pegar todos os usuários (na tabela
 usuário) que não existam na tabela de sessões (user_session) nos últimos 3
 meses.

 Seu select final será algo mais ou menos assim:

 select * from usuario u
 where not exists( select 1 from user_sessions us
   where us.user_id = u.user_id
  and us.session_in  CURRENT_DATE - INTERVAL
 '3 months'
  )

 Espero ter ajudado.

 Gde. Abraço!
 Ed

 On Mon, Aug 27, 2012 at 2:00 PM, Sidnei Vladisauskis 
 sid...@v7v.com.brwrote:

 Fala pessoal,

 Estou com uma dúvida aqui.

 Tenho uma tabela de registro de login de usuários:

 session_id | user_id | token | session_in | session_out

 Como faço para dar um select nos usuários que não se logam á 3 meses?

 se eu uso:

 SELECT * FROM user_sesions WHERE session_in  CURRENT_DATE - INTERVAL '3
 months'

 ele pega os usuários que se logaram a menos de 3 meses, mas pega todos
 que fizeram login e não o que não tem login a partir disso

 Como faria esse select?

 Obrigado

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




 --
 Ed


 ___
 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




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


[pgbr-geral] Interpretar formula gravada em um campo

2012-08-27 Por tôpico Carlos Antônio Pereira
Boa tarde, senhores.

Preciso armazenar uma formula matematica em um campo para depois fazer uso 
dela para atualizar outro.

Por exemplo

idproduto produto  qtde  consumo calculo
1   dipirona gotas 10 500020*15



O produto dipirona gotas é vendido em frascos de 20ml. O consumo desse 
produto
é medido em gotas. Cada ml tem 15 gotas. Assim, ao entrar o produto em meu 
estoque, preciso que ele atualize
o campo consumo para consumo = consumo + (qtde*20*15)

ou seja:
5000 + (10 * 20 * 15)
5000 + 3000
8000

Alguém tem idéia?





insert


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


Re: [pgbr-geral] Pegar nomes de colunas de um SQL qualquer

2012-08-27 Por tôpico Alexsander Rosa
Em 27 de agosto de 2012 13:39, Nelson Luiz Gonzaga ngonz...@ig.com.brescreveu:


 É isso que voce quer:
 SELECT column_name FROM information_schema.columns WHERE table_name =


Eu já uso este, mas não serve no caso em questão porque o SQL pode ser
livre.

-- 
Atenciosamente,
Alexsander da Rosa
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Pegar nomes de colunas de um SQL qualquer

2012-08-27 Por tôpico Alexsander Rosa
Obrigado, vou investigar.

Em 27 de agosto de 2012 13:33, Dickson S. Guedes lis...@guedesoft.netescreveu:

 Em 27 de agosto de 2012 13:02, Alexsander Rosa
 alexsander.r...@gmail.com escreveu:
  Estou fazendo uma procedure executa_relatorio que recebe os parâmetros
 da
  GUI, executa e gera um CSV -- de modo similar ao que já existe na GUI,
 mas
  quero fazer via procedure pra poder usar até no console. Consigo executar
  normalmente, com parãmetros e tudo o mais, mas não consegui pegar os
 nomes
  das colunas.


 Talvez adaptando um pouco o seu código, você poderia utilizar
 a extensão colnames [1].


 [1] http://pgxn.org/dist/colnames/doc/colnames.html


-- 
Atenciosamente,
Alexsander da Rosa
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Select de usuários que não se logam a 3 meses.

2012-08-27 Por tôpico Flávio Alves Granato

Em 27/08/2012 14:42, Edmilton Neves escreveu:

É isto mesmo Sidnei!

Vacilei no ctrl + c / ctrl + v que fiz da sua query.

Gde. Abraço!

2012/8/27 Sidnei Vladisauskis sid...@v7v.com.br 
mailto:sid...@v7v.com.br


Fala Edmilton,

Valeu pela resposta, acho que é isso mesmo, mas no caso teria que
ser: us.session_in  CURRENT_DATE - INTERVAL '3 months'

pq eu seleciono todos os usuários que tem login acima de 3 meses e
pego os que não estão nessa lista, que é os que não tem login
acima de 3 meses, certo?

[]'s


2012/8/27 Edmilton Neves edmilton.ne...@gmail.com
mailto:edmilton.ne...@gmail.com

Boas Pessoal!

Sidnei, acredito que vc tenha que pegar todos os usuários (na
tabela usuário) que não existam na tabela de sessões
(user_session) nos últimos 3 meses.

Seu select final será algo mais ou menos assim:

select * from usuario u
where not exists( select 1 from user_sessions us
  where us.user_id = u.user_id
 and us.session_in  CURRENT_DATE
- INTERVAL '3 months'
 )

Espero ter ajudado.

Gde. Abraço!
Ed

On Mon, Aug 27, 2012 at 2:00 PM, Sidnei Vladisauskis
sid...@v7v.com.br mailto:sid...@v7v.com.br wrote:

Fala pessoal,

Estou com uma dúvida aqui.

Tenho uma tabela de registro de login de usuários:

session_id | user_id | token | session_in | session_out

Como faço para dar um select nos usuários que não se logam
á 3 meses?

se eu uso:

SELECT * FROM user_sesions WHERE session_in  CURRENT_DATE
- INTERVAL '3 months'

ele pega os usuários que se logaram a menos de 3 meses,
mas pega todos que fizeram login e não o que não tem login
a partir disso

Como faria esse select?

Obrigado




Senhores,

Vamos evitar o top posting, pois assim quem ler o email de vocês não 
precisará ler de baixo para cima para saber o que aconteceu e como foi 
ajudado.


Abraços,

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


Re: [pgbr-geral] Select de usuários que não se logam a 3 meses.

2012-08-27 Por tôpico Sidnei Vladisauskis
Edmilton, valeu pela dica.

Flávio, pra evitar isso é só apagar o conteúdo que o gmail coloco embaixo
de tudo?

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


Re: [pgbr-geral] Interpretar formula gravada em um campo

2012-08-27 Por tôpico Anselmo Silva
podes criar uma trigger com uma função SQL que retorna a execução do campo
cálculo com o EXECUTE .

Em 27 de agosto de 2012 14:52, Carlos Antônio Pereira 
carlosanto...@utivida.com.br escreveu:

 Boa tarde, senhores.

 Preciso armazenar uma formula matematica em um campo para depois fazer uso
 dela para atualizar outro.

 Por exemplo

 idproduto produto  qtde  consumo calculo
 1   dipirona gotas 10 500020*15



 O produto dipirona gotas é vendido em frascos de 20ml. O consumo desse
 produto
 é medido em gotas. Cada ml tem 15 gotas. Assim, ao entrar o produto em meu
 estoque, preciso que ele atualize
 o campo consumo para consumo = consumo + (qtde*20*15)

 ou seja:
 5000 + (10 * 20 * 15)
 5000 + 3000
 8000

 Alguém tem idéia?





 insert


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




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


Re: [pgbr-geral] Select de usuários que não se logam a 3 meses.

2012-08-27 Por tôpico Flávio Alves Granato
Em 27/08/2012 15:00, Sidnei Vladisauskis escreveu:
 Edmilton, valeu pela dica.

 Flávio, pra evitar isso é só apagar o conteúdo que o gmail coloco 
 embaixo de tudo?

Na realidade no gmail não sei como faz, pois utilizo o thunderbird e ele 
já posiciona o cursor na parte de baixo para mim.
Uma coisinha legal de se ler é a netiqueta ( 
http://pt.wikipedia.org/wiki/Netiqueta ), nos ensina a comunicar melhor 
via email...
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Select de usuários que não se logam a 3 meses.

2012-08-27 Por tôpico Edmilton Neves
Boas pessoal!

Em 27/08/2012 15:00, Sidnei Vladisauskis escreveu:
  Edmilton, valeu pela dica.

Que bom que ajudou!

Aos demais, desculpem pela gafe do top-posting.

At.,

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