criei esta Stored procedure para adicionar e alterar dados em uma tabela. Queria saber a opinião de vocês sobre como ficou minha procedure. O que mais posso colocar nela?
Sobre o tratamento de errors, fiz o tratamento para chaves duplicadas e dados truncados. Tem como capturar qq erro que aconteça durante a execução da stored procedure?
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `SP_ADDBANCO`(in p_CONTROLE char, in p_ID int, in p_NOME varchar(80), out p_MSG varchar(80))
BEGIN
DECLARE EXIT HANDLER FOR SQLSTATE '23000'
BEGIN
ROLLBACK;
Select 'Violação de chave primaria' as p_MSG;
END;
DECLARE EXIT HANDLER FOR SQLWARNING
BEGIN
ROLLBACK;
Select 'O dado foi truncado!' as p_MSG;
END;
START TRANSACTION;
if CONTOLE="G" then
Insert into BANCOS(NOME) values(NOME);
elseif CONTROLE="A" then
Update BANCOS set NOME=p_NOME where ID=p_ID;
end if;
COMMIT;
Select 'Registro efetuado com sucesso.' as p_MSG;
END










