Clipper On Line • Ver Tópico - Função extenso() no MySQL

Função extenso() no MySQL

Discussão sobre SQL

Moderador: Moderadores

 

Função extenso() no MySQL

Mensagempor alxsts » 13 Abr 2021 21:31

Olá!

Parabéns pelo trabalho!
JoséQuintas escreveu:Pelo HeidiSQL os comandos funcionam pra criação de função, mas executando via Harbour não
Como está fazendo?
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2943
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes

Função extenso() no MySQL

Mensagempor JoséQuintas » 14 Abr 2021 07:14

Executando cada arquivo como comando.
Também tentei separando os DELIMITER em comando separado.
Colocando no HeidiSQL funciona.

sql_stored_extenso.zip
(2.58 KiB) Baixado 84 vezes
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: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Função extenso() no MySQL

Mensagempor JoséQuintas » 14 Abr 2021 09:03

Acho que encontrei o problema, agora ver como vou resolver.
Adiciono ponto e vírgula aos comandos.
DELIMITER //;
Isso se torna inválido
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: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Função extenso() no MySQL

Mensagempor JoséQuintas » 14 Abr 2021 09:47

Nada ainda.

O que mais tem na internet é esse erro ref. criar função usando esse DELIMITER.
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: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Função extenso() no MySQL

Mensagempor JoséQuintas » 14 Abr 2021 10:25

Texto mais interessante que encontrei, apesar de não resolver.

Observe que a DELIMITERpalavra-chave é uma função apenas do mysqlcliente de linha de comando (e de alguns outros clientes) e não um recurso regular da linguagem MySQL. Não funcionará se você tentar passar por uma API da linguagem de programação para o MySQL.


https://qastack.com.br/programming/10259504/delimiters-in-mysql
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: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Função extenso() no MySQL

Mensagempor JoséQuintas » 14 Abr 2021 10:35

Resolvido.
DELIMITER é LIXO.
BEGIN-END já resolvem a questão do ponto e vírgula.
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: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Função extenso() no MySQL

Mensagempor JoséQuintas » 14 Abr 2021 10:41

   WITH OBJECT cnSQL
      FOR EACH cFunction IN { "ze_extenso", "ze_ExtensoUnidade", "ze_ExtensoDezena", "ze_ExtensoCentena", "ze_ExtensoNumero" }
         :ExecuteCmd( "DROP FUNCTION IF EXISTS " + cFunction )
      NEXT
      FOR nCont = 1 TO 5
         :ExecuteCmd( ze_rawImage( "SQL_" + StrZero( nCont, 2 ) ), , .F. )
      NEXT
   ENDWITH


Deixando os SQL em resource, e executando direto.

sql_stored_extenso.zip
(2.51 KiB) Baixado 66 vezes
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: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Função extenso() no MySQL

Mensagempor JoséQuintas » 14 Abr 2021 11:49

Agora que isso ficou resolvido, vém a outra parte:

Acrescentar essas funções no BACKUP !

Convém pensar nisso, porque com certeza isso vai se expandir.
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: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Função extenso() no MySQL

Mensagempor JoséQuintas » 14 Abr 2021 11:54

show.png


À primeira vista, pegar a lista de funções e usar o SHOW CREATE FUNCTION pra pegar o fonte de cada função.

O terminal/aplicativo envia o comando de cima, e recebe as informações de baixo.
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: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Função extenso() no MySQL

Mensagempor JoséQuintas » 14 Abr 2021 12:03

Estimativa conforme o post:

3 dias pra aprender a criar uma função no MySQL.
1 dia pra criar a função extenso funcionando.
1 dia final pra completar o ciclo .

Não foi perda de tempo, valeu a pena.

Nota: funcionou no MySQL e no MariaDB
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: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Função extenso() no MySQL

Mensagempor Itamar M. Lins Jr. » 14 Abr 2021 12:23

Olá!
Isso é libertação!
O Harbour faz isso, mas saber em outras linguagens, amplia nossa visão dos processos.
Perder tempo é ficar procrastinando estudar outras linguagens, esperando cair do céu a solução que nós desejamos.
Por isso sempre lembro do Html que faz muita coisa e está ao alcance de todos.
Quem tem condições, compra "aquela" ferramenta, mas quem já possui uma liberdade mesmo com condições para comprar a tal ferramenta não quer pq tira esse gostinho de vitória por ter concluído um propósito e perceber que se libertou, ampliou mais ainda os horizontes.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Função extenso() no MySQL

Mensagempor JoséQuintas » 14 Abr 2021 12:42

Itamar M. Lins Jr. escreveu:Olá!
Isso é libertação!
...
Por isso sempre lembro do Html que faz muita coisa e está ao alcance de todos.


Ponte que caiu !!!
Juntando MySQL, ADO, ASP, HTML, olhem isto:

<% @LANGUAGE="VBSCRIPT" CODEPAGE="1252" %>
<%
DIM oConexao, oRegistro, cSql, cValor

Session.LCID = 1046 ' Portugues Brasil
cValor = Trim( Request.QueryString( "valor" ) )

SET oConexao = Server.CreateObject( "ADODB.Connection" )
oConexao.Open ConnectionString()
SET oRegistro = server.CreateObject( "ADODB.Recordset" )
cSql = "SELECT ze_Extenso( " & cValor & " ) AS texto;"
oRegistro.Open cSql, oConexao
response.write "<html><head /><body>" & oRegistro.Fields( "TEXTO" ).Value & "</body></html>"
oRegistro.Close
oConexao.Close
SET oRegistro = Nothing
SET oConexao = Nothing
%>


http://josequintas.com.br/extenso.asp?valor=454454.54

web.png


Tá no MySQL, tá pronto pra qualquer parada.
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: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Função extenso() no MySQL

Mensagempor JoséQuintas » 14 Abr 2021 13:10

Pra quem clicou no link e deu erro:
Andei modificando, porque o fonte acima não era seguro.
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: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Função extenso() no MySQL

Mensagempor JoséQuintas » 14 Abr 2021 13:42

E só lembrando:
Se acessa via internet, estilo webservice, também estaria disponível no celular com android !!!!

O barato é muito doido.
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: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Função extenso() no MySQL

Mensagempor JoséQuintas » 09 Out 2021 13:00

Tava revendo o tópico.

Fazem exatamente 6 meses que descobri como criar function/procedure no MySQL.
Só pra lembrar vocês também.
O negócio é começar, o resto vém com o tempo.
Conforme vai obtendo resultados, vai pegando confiança, e usando cada vez mais.
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: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Anterior



Retornar para SQL

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 9 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