[pgbr-geral] Pegar nomes de colunas de um SQL qualquer
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
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
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.
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.
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.
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.
É 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
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
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
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.
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.
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
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.
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.
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