En la consola mysql usaremos el comando delimitador para cambiar el delimitador y es útil para definir los procedimientos. Entendí el comando delimiter
solo para el cliente mysql (comando del lado del cliente).
pero estoy usando el cliente mysql que no tiene el comando delimiter
como dbslayer
, en este tipo de clientes, ¿cómo puedo definir los procedimientos?
por ahora considere:
create procedure test_pro()
begin
select 'hello pro';
end
Intenté lo siguiente:
mysql -u root -pmypass test < proc_file
donde proc_file contiene el procedimiento anterior;
pero eso me está dando el siguiente error:
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 probé lo siguiente
create procedure test_pro()
begin
select 'hello pro';
end;
(se agregó el punto y coma final) pero obtengo el mismo error.
Lo mismo que estoy experimentando con el dbslayer
, si puedo definir el procedimiento anterior a través del terminal, creo que debería poder hacerlo a través deldbslayer
fuente
DELIMITER
o cambiarlo pasando el argumento--delimiter
en lamysql
línea de comandos.Esto funcionó para mí:
Contenido de mysqlfile.sql
y en la línea de comando:
fuente
Sé que esta es una vieja pregunta, pero lo siguiente podría ser útil para alguien en el futuro:
Probado y trabajando contra Maria DB.
Después de que termine, puede llamar al procedimiento usando:
Espero que ayude :)
fuente