No console do mysql, usaremos o comando delimiter para alterar o delimitador e é útil definir os procedimentos. Eu entendi o comando delimiter
apenas para o cliente mysql (comando do lado do cliente).
mas estou usando o cliente mysql que não possui o comando delimiter
como dbslayer
, neste tipo de clientes como posso definir os procedimentos.
por enquanto, considere:
create procedure test_pro()
begin
select 'hello pro';
end
Eu tentei o seguinte:
mysql -u root -pmypass test < proc_file
onde proc_file contém o procedimento acima;
mas isso está me dando o seguinte erro:
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3
Evento Eu tentei o seguinte
create procedure test_pro()
begin
select 'hello pro';
end;
(adicionado o ponto e vírgula à direita), mas estou recebendo o mesmo erro.
O mesmo que estou experimentando com o dbslayer
, se eu sou capaz de definir o procedimento acima através do terminal, acho que devo ser capaz de fazê-lo através dodbslayer
fonte
DELIMITER
ou alterá-lo passando o argumento--delimiter
namysql
linha de comando.Isso funcionou para mim:
Conteúdo do mysqlfile.sql
e na linha de comando:
fonte
Sei que essa é uma pergunta antiga, mas o seguinte pode ser útil para alguém no futuro:
Testado e trabalhando contra Maria DB.
Depois de concluído, basta chamar o procedimento usando:
Espero que ajude :)
fonte