Eu estou lutando com um procedimento armazenado simples, que eu reduzi a isso:
CREATE PROCEDURE RemoveDuplicateModules()
BEGIN
SET @myvar=1;
End;
Quando eu executo isso na CLI do MySQL eu recebo: @myvar
não foi criado. Eu estou lutando porque no windows funciona bem!
mysql --version = 5.6.33
Respostas:
1 para resposta № 1Funciona para mim (debian, mysql 5.6.25):
mysql> delimiter //
mysql> CREATE PROCEDURE RemoveDuplicateModules()
-> BEGIN
-> SET @myvar=1;
-> End;
-> //
Query OK, 0 rows affected (0,66 sec)
mysql> call RemoveDuplicateModules();
Query OK, 0 rows affected (0,00 sec)
mysql> select @myvar ;
+--------+
| @myvar |
+--------+
| 1 |
+--------+
1 row in set (0,02 sec)
1 para resposta № 2
Parece que o problema aqui não era que oO procedimento que postei estava falhando, mas como estava sendo executado em um contexto maior, um arquivo grande com muito código de muitas pessoas, uma falta anterior de um commit fazia com que meu procedimento falhasse. De qualquer forma, obrigado pela ajuda!