MysqlProcedureかいた

DROP FUNCTION IF EXISTS procedure_name;
DELIMITER //
CREATE FUNCTION procedure_name (param_id INT)
  RETURNS TINYINT
  BEGIN
    SET @result = 0;
    SET @total = (SELECT ...);

    IF (ISNULL(@total)) THEN
        SET @result = 1;
    ELSEIF (@current < @total_calc) THEN
        SET @result = 2;
    END IF;

    IF (@result = 1) THEN
        UPDATE ... SET ** = WHERE...;
    END IF;

    RETURN @result;
  END;
//
DELIMITER ;