Tutorial de SQL

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

Tutorial de SQL

Mensagem por Vlademiro »

O PostgreSQL tem extensões que permitem incluir uma linguagem de programação. Já usei com Perl. Tem pgperl e pgperlu (u é de unsafed). Em um ambiente isolado fiz uma query usando pgperlu e consegui executar comandos do SO. Li tabelas DBF, arquivos texto e até SQL Server. Tudo dentro de um select PostgreSQL. Muito doido e inseguro tb... Como a própria extensão já sugere pelo título.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Tutorial de SQL

Mensagem por JoséQuintas »

O Access também tem isso em MDB, até telas de aplicativo.
No final, isso também permite vírus, e acabando sendo aí que os antivírus e as proteções podem começar a bloquear até base de dados.
Mas seria interessante... talvez até o aplicativo dentro da base de dados...
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

Tutorial de SQL

Mensagem por Vlademiro »

Correção: é untrusted

Olha a descrição no site

Às vezes, é desejável escrever funções Perl que não sejam restritas. Por exemplo, pode-se querer uma função Perl que envie email. Para lidar com esses casos, o PL / Perl também pode ser instalado como uma linguagem "não confiável" (geralmente chamada PL / PerlU). Nesse caso, o idioma Perl completo está disponível. Se o programa createlang for usado para instalar o idioma, o nome do idioma plperlu selecionará a variante PL / Perl não confiável.

Nesse caso pode até criar um trigger. Sempre que inserir, se o valor for maior que x, manda um email.

É arriscado, mas em alguns casos bem específicos dá pra usar. Se não desse ninguém tinha criado essa extensão para PostgreSQL.
Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

Tutorial de SQL

Mensagem por Vlademiro »

Usa no Linux. Se for usar no windows aí a festa tá feita. Kkkk pode usar objetos COM, OLE , ODBC, etc
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Tutorial de SQL

Mensagem por JoséQuintas »

Eu já tô pensando é em bases para o futuro, se é que não existem.

Seria muito interessante gerador de relatórios integrado à base de dados.
No final, tem tudo a ver.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

Tutorial de SQL

Mensagem por Vlademiro »

O que vc tem aí com dbf já funciona. Basta retornar um dbf virtual usando sqlmix ou dbf em memória. É o caminho mais rápido.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Tutorial de SQL

Mensagem por alxsts »

Olá!
JoséQuintas escreveu:Seria muito interessante gerador de relatórios integrado à base de dados.
Oracle Reports
SQL Server Reporting Services
MYSQL Report Builder
Postgres Reporting Tool

Todos pagos...
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Tutorial de SQL

Mensagem por JoséQuintas »

Interessante ler esta parte:
Top-notch performance: MySQL can perform well whether data is in GB or TB. In fact, the development of the capabilities in managing large volumes of data and its performance has undergone so many updates over the years that you can firmly trust the performance of MySQL. The core philosophy of MySQL is simple: quickly get the data in, and quickly out. This gives MySQL the ability to perform flawlessly, whether an eCommerce website needs to receive million queries a day, systems need high-speed transactional processes or you simply want a reporting software you can trust to manage all your database activities.
Desempenho de primeira linha: o MySQL pode ter um bom desempenho, independentemente de os dados estarem em GB ou TB. De fato, o desenvolvimento dos recursos para gerenciar grandes volumes de dados e seu desempenho sofreu tantas atualizações ao longo dos anos que você pode confiar firmemente no desempenho do MySQL. A filosofia principal do MySQL é simples: insira e remova rapidamente os dados. Isso dá ao MySQL a capacidade de executar com perfeição, se um site de comércio eletrônico precisa receber milhões de consultas por dia, sistemas precisam de processos transacionais de alta velocidade ou você simplesmente deseja um software de relatório em que possa confiar para gerenciar todas as suas atividades de banco de dados.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Tutorial de SQL

Mensagem por JoséQuintas »

Acho que vou ressucitar o meu gerador de relatórios.
Criei pra curiosidade, mas eu mesmo nunca usei.
Atende 70% dos casos, tá bom pra começar.
Talvez juntando com comandos SQL ele facilite as possibilidades.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Tutorial de SQL

Mensagem por JoséQuintas »

Já estou pensando aqui nas possibilidades....

Por exemplo, um relatório de vendas do mês, com totais por cliente/produto

Isso no MySQL é rápido, mas sobraria a totalização para o aplicativo...... mas.... será que sobra mesmo?

À primeira vista, poderiam ser 3 comandos com relacionamento entre eles.

E pra facilitar mais ainda.... os totais vém primeiro, e não no final, coisa que os clientes até preferem !!!

Tô amadurecendo a idéia.....
De repente não são os geradores de relatório que são rápidos... é que eles sabem como puxar as informações de forma rápida do jeito que precisam.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Tutorial de SQL

Mensagem por JoséQuintas »

Só amadurecendo a idéia.
Já vém totalizado por cliente e cliente/produto, pronto pro relatório.
consulta.png
Detalhe no tempo:
0,000 segundos de servidor e 0,016 segundos da rede
16 milésimos de segundo.
Nem compensa calcular durante o relatório.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Tutorial de SQL

Mensagem por JoséQuintas »

Não deu certo, mas aparentemente o comando está certo.
soma.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Tutorial de SQL

Mensagem por JoséQuintas »

Na verdade, PODE ser que deu, é que não tem comparação.

Se estou somando produto/cliente, então não é o mesmo que somar o pedido.
Anexos
soma2.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Tutorial de SQL

Mensagem por JoséQuintas »

soma3.png
Agora sim, dá pra conferir/comparar.

Pode ser usado, por exemplo, num relatório de comissão, onde a comissão é por cliente/produto
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

Tutorial de SQL

Mensagem por Mario Mesquita »

Pessoal, bom dia!

Tem alguma rotina de migração DBF para MySql com criação de tabelas, etc, por aqui? Algo que possa servir de ponto de partida para converter as tabelas DBF?

Fazer isso na mão parece ruim, como estou engatinhando acho que com algo programado deve ser melhor...

Procurei por aqui mas não achei, se tiver alguma dica me ajuda muito,

Desde já, agradeço a ajuda.

Saudações,
Mario.
Responder