Página 3 de 3
Função extenso() no MySQL
Enviado: 13 Abr 2021 21:31
por alxsts
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?
Função extenso() no MySQL
Enviado: 14 Abr 2021 07:14
por JoséQuintas
Executando cada arquivo como comando.
Também tentei separando os DELIMITER em comando separado.
Colocando no HeidiSQL funciona.
Função extenso() no MySQL
Enviado: 14 Abr 2021 09:03
por JoséQuintas
Acho que encontrei o problema, agora ver como vou resolver.
Adiciono ponto e vírgula aos comandos.
DELIMITER //;
Isso se torna inválido
Função extenso() no MySQL
Enviado: 14 Abr 2021 09:47
por JoséQuintas
Nada ainda.
O que mais tem na internet é esse erro ref. criar função usando esse DELIMITER.
Função extenso() no MySQL
Enviado: 14 Abr 2021 10:25
por JoséQuintas
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/1025 ... s-in-mysql
Função extenso() no MySQL
Enviado: 14 Abr 2021 10:35
por JoséQuintas
Resolvido.
DELIMITER é LIXO.
BEGIN-END já resolvem a questão do ponto e vírgula.
Função extenso() no MySQL
Enviado: 14 Abr 2021 10:41
por JoséQuintas
Código: Selecionar todos
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.
Função extenso() no MySQL
Enviado: 14 Abr 2021 11:49
por JoséQuintas
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.
Função extenso() no MySQL
Enviado: 14 Abr 2021 11:54
por JoséQuintas
À 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.
Função extenso() no MySQL
Enviado: 14 Abr 2021 12:03
por JoséQuintas
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
Função extenso() no MySQL
Enviado: 14 Abr 2021 12:23
por Itamar M. Lins Jr.
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.
Função extenso() no MySQL
Enviado: 14 Abr 2021 12:42
por JoséQuintas
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:
Código: Selecionar todos
<% @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
Tá no MySQL, tá pronto pra qualquer parada.
Função extenso() no MySQL
Enviado: 14 Abr 2021 13:10
por JoséQuintas
Pra quem clicou no link e deu erro:
Andei modificando, porque o fonte acima não era seguro.
Função extenso() no MySQL
Enviado: 14 Abr 2021 13:42
por JoséQuintas
E só lembrando:
Se acessa via internet, estilo webservice, também estaria disponível no celular com android !!!!
O barato é muito doido.
Função extenso() no MySQL
Enviado: 09 Out 2021 13:00
por JoséQuintas
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.