Boa tarde á todos.
Estou tentando executar a query abaixo, porém o MySql não reconhece o valor da variável.
SET @MES_ANTERIOR = "MARCO";
SET @MES = "ABRIL";
SET @MOVIMENTACAO = "MOVIMENTACAO_CEF_";
SET @LEVANTAMENTO = "CEF_LEVANTAMENTO_";
SET @DEPOSITO = "CEF_DEPOSITO_";
-- INICIO PROCEDURE SALDO_MES ANTERIOR --
DELIMITER $$
DROP PROCEDURE IF EXISTS SALDO_MES_ANTERIOR $$
CREATE PROCEDURE SALDO_MES_ANTERIOR ()
BEGIN
DECLARE MES_ANTERIOR VARCHAR(30) DEFAULT @MES_ANTERIOR;
DECLARE MOVIMENTACAO VARCHAR(30) DEFAULT CONCAT(@MOVIMENTACAO,@MES);
DECLARE MOVIMENTACAO_ANTERIOR VARCHAR(30) DEFAULT CONCAT(@MOVIMENTACAO,@MES_ANTERIOR);
UPDATE MOVIMENTACAO AS TAB_MOV
INNER JOIN MOVIMENTACAO_ANTERIOR AS TAB_MOV_ANT ON TAB_MOV_ANT.IDENT = TAB_MOV.IDENT
SET TAB_MOV.MARCO = TAB_MOV_ANT.MARCO
WHERE TAB_MOV.MARCO IS NULL;
END$$;
DELIMITER $$;
-- FIM PROCEDURE SALDO_MES ANTERIOR --
Já troquei aspas simples por aspas duplas e vice-versa, já coloquei := e apenas = para atribuir valor a variável.
O que acontece é que o MySql não está identificando o valor das variáveis, primeiramente o valor da variável MOVIMENTACAO que seria "MOVIMENTACAO_CEF_ABRIL", pois concatenei o valor das variáveis @MOVIMENTACAO e @MES.
Ele entende que estou tentando atualizar a tabela MOVIMENTACAO, ou seja não está vendo a variável MOVIMENTACAO e seu conteúdo.
O que fazer nesse caso?
Muito Obrigado.
Hebert Luiz Costa