Clipper On Line • Ver Tópico - Dica do dia: MySQL DELIMITER

Dica do dia: MySQL DELIMITER

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

Moderador: Moderadores

 

Dica do dia: MySQL DELIMITER

Mensagempor JoséQuintas » 15 Abr 2021 11:22

Supondo que o conteúdo da função fosse

;
;
;
;


Nos editores SQL, o ponto e vírgula costuma indicar a finalização do comando, e podemos digitar vários comandos pra executar depois todos em sequência.
Então seria impossível digitar um comando pra criar a função acima.
o "console" do MySQL é um deles, e o HeidiSQL é outro.
Foi pra isso que inventaram o DELIMITER.

DELIMITER $$
;
;
;
;
;
$$


Na documentação do MySQL apenas mostra o DELIMITER, porque usa no console dele, mas não diz que isso NÃO faz parte do comando.
Acabei pensando que fazia parte do comando, ou que era obrigatório, e por isso não funcionava de jeito nenhum.

Vai executar pelo aplicativo: DELIMITER não existe
Vai digitar no HeidiSQL ou no console do MySQL? precisa o DELIMITER, pra avisar ao HeidiSQL ou ao console MySQL que tudo é um único comando.

Façam pra curiosidade: procurem no google sobre o uso/erros de DELIMITER.
Não vão encontrar nenhum post explicando o que estou colocando aqui.
Pelo contrário, eles vão dar a impressão de que sempre faz parte do comando.

Acho até que muita gente desistiu de criar STORED PROCEDURES/FUNCTIONS por causa disso.
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: 18009
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Dica do dia: MySQL DELIMITER

Mensagempor JoséQuintas » 15 Abr 2021 11:34

mysql.png


https://www.mysqltutorial.org/mysql-stored-procedure/mysql-delimiter/

Olhando esse manual, por exemplo, se não ler atentamente as entrelinhas, parece até fazer parte normal dos comandos.

mysql2.png


Acima, as entrelinhas, dizendo que é pra CLIENTE MYSQL, pra interpretadores de comandos, assim como o workbench e o console 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: 18009
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Dica do dia: MySQL DELIMITER

Mensagempor JoséQuintas » 15 Abr 2021 11:37

Convém destacar mais uma coisa aí:

Se SQLMIX precisa ou não disso.... não sei dizer.
No ADO sei que não precisa, mas se depende do "cliente", depende de como foi implementado o SQLMIX.
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: 18009
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes




Retornar para Contribuições, Dicas e Tutoriais

Quem está online

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