Stored Procedures - Deletando um registro - Detalhado
DROP PROCEDURE IF EXISTS ETEC_D_FUNCIONARIO;
CREATE PROCEDURE ETEC_D_FUNCIONARIO(IN V_CODIGO INT)
BEGIN
--DECLARANDO VARIAVEIS
DECLARE
X INT;
DECLARE
MSG_ERRO VARCHAR(200);
IF (V_CODIGO > 0) THEN
-- INSERINDO VALOR EM VARIÁVEL
SELECT COUNT(1)
INTO X
FROM FUNCIONARIO
WHERE CODIGO = V_CODIGO;
IF (X = 1) THEN
DELETE FROM FUNCIONARIO WHERE CODIGO = V_CODIGO;
ELSEIF (X > 1) THEN
SELECT 'NÃO É PERMITIDO DELETAR MAIS QUE UM REGISTRO!'
INTO MSG_ERRO;
ELSE
SELECT 'CÓDIGO INVALIDO'
INTO MSG_ERRO;
END IF;
ELSE
SELECT 'CÓDIGO INVALIDO'
INTO MSG_ERRO;
END IF;
IF (MSG_ERRO != '') THEN
SELECT MSG_ERRO;
END IF;
END;