Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Não permitir parâmetros NULL para procedimentos armazenados no MySQL/MariaDB


Você precisaria validar os valores de parâmetro passados ​​por conta própria. Se você estiver usando o MySQL 5.5 ou superior, poderá usar SIGNAL .
DELIMITER //
CREATE PROCEDURE my_procedure (IN param1 INT)
BEGIN
  IF param1 IS NULL THEN
    SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'NULL is not allowed.';
  END IF;
  -- do whatever 
END//
DELIMITER ;

Aqui está um SQLFiddle demonstração