Clipper On Line • Ver Tópico - MySQL como complemento

MySQL como complemento

Discussão sobre SQL

Moderador: Moderadores

 

MySQL como complemento

Mensagempor JoséQuintas » 19 Jul 2020 18:43

Hoje me chamou a atenção isto:

      :cSQL := "SET @SOMA = 0"
      :ExecuteCmd()
      ...
      :cSQL := "SET @SOMA = NULL"
      :ExecuteCmd()
   ENDWITH


Porque?
Se existir alguma função interessante no MySQL, que não tem no Harbour/aplicativo, basta usar o MySQL.

Por exemplo, poderíamos validar o CPF/CNPJ no MySQL, ao invés de ter rotina no aplicativo.
Vantagem?
Se tá disponível no MySQL, tá disponível pra qualquer linguagem de programação, simples assim.

Não tá todo mundo aí dizendo que é melhor uma linguagem, ou outra linguagem....
Que é melhor programar pra Windows, Linux, Android, web, etc.....

Então... se tá no MySQL, tá disponível pra tudo.

Convém destacar outros pontos importantes:

- o Harbour não prende ninguém, o que prende.... é o DBF.
- usando Harbour, e transportando funções para o MySQL.... é como estar programando pra Windows, Linux, Android, Web, etc....

E se considerar um Access, que guarda telas e relatórios....
Só falta o banco de dados fazer isso, coisa que o Access fazia...

Ainda naquilo, de imaginar que o SQL é um "dBASE evoluído"....
Tá faltando o REPORT FORM no SQL pra gerar relatórios.... se é que isso já não existe.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

MySQL como complemento

Mensagempor JoséQuintas » 20 Jul 2020 13:21

Só reforçando as possibilidades.....

É comum alguns programadores usarem isto, pra facilitar enxergar o comando no fonte:

cSQL := "update arquivo set valor = valor * @reajuste where data between cast( @datainicial as date ) and cast( @datafinal as date )"
cSQL := StrTran( cSQL, "@reajuste", NumberSQL( 1.10 )
cSQL := StrTran( cSQL, "@datainicial", DateSQL( Date() ) )
cSQL := StrTran( cSQL, "@datafinal", DateSQL( Date() ) )
cn:Execute( cSQL )


Então....
Não precisa fonte especial pra isso, podemos fazer assim:

cn:Execute( "SET @REAJUSTE = " + NumberSQL( 1.10 ) )
cn:Execute( "SET @datainicial = " + DateSQL( Date() ) )
cn:Execute( "SET @datafinal = " + DateSQL( Date() ) )
cSQL := "update arquivo set valor = valor * @reajuste where data between cast( @datainicial as date ) and cast( @datafinal as date )"


Acaba sendo interessante, porque ao invés de uma "gambiarra", usamos algo existente pra isso.
Tudo bem que existem as stored procedures, mas isso abre mais possibilidades interessantes.

Nota:
Conforme encontrei pela internet, essas variáveis existem enquanto existir a conexão.
Fechou a conexão, some tudo, e dependendo do caso, pode ser interessante destruir: SET @VARIAVEL = NULL
É apenas mais uma "ferramenta" que pode ser usada, por enquanto só me veio na cabeça esse exemplo de uso.

Vou testar quais os tipos de conteúdo que são aceitos nisso....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

MySQL como complemento

Mensagempor JoséQuintas » 20 Jul 2020 13:34

só aceita um único valor.

teste.png


Achei essa utilidade.
Ao invés de trazer o total, pra calcular o percentual sobre o total, dá pra trazer pronto.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes




Retornar para SQL

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 8 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro