Galera, bom dia
estou construindo uma stored procedure basica e fazendo tratamento de erros no mysql
Quero que quando achar um erro qq ele armazene o erro em uma determinada tabela. então faço o seguinte
IF excecao = 1 THEN
SET errorCode = SQLCODE;
Select 'Erro ao realizar operação' as p_MSG; /*armazeno o valor na variável OUT erro */
ROLLBACK; /* dou um rollback, com isso todas as minhas operações são perdidas*/
START TRANSACTION;
Insert into webknight.errorLOG(ERRORMSG,SP_ID,DATA,USER_ID) values (errorCode,sp_id,now(),0);
COMMIT;
LEAVE BLOCO1; /*encerro a procedure*/
ELSE
Select 'Operação realizada com sucesso' as p_MSG;
COMMIT; /*aqui eu salvo as minhas inserções e disponibilizo para os demais*/
END IF;
O codigo funciona do geito que quero porem não pega a mensagem de erro. Na linha
SET errorCode = SQLCODE;
quero pegar a mensagem e o codigo do erro para guardar na minha tabela ErrorLog

Stored Procedure Mysql
Started By Agnus hallard, 27/06/2011, 14:23
1 reply to this topic
#1
Posted 27/06/2011, 14:23
#2
Posted 27/06/2011, 16:20
Acho que o código vai estar em SQLSTATE e não em SQLCODE. Não sei se alguma variável guarda a mensagem. Mas tendo o código, pode consultar
http://dev.mysql.com...ges-server.html
pra saber do que se trata.
http://dev.mysql.com...ges-server.html
pra saber do que se trata.
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)