Mysql
 sql >> Base de données >  >> RDS >> Mysql

Interdire les paramètres NULL aux procédures stockées dans MySQL/MariaDB

Vous devrez valider vous-même les valeurs des paramètres passés. Si vous utilisez MySQL 5.5 et plus, vous pouvez utiliser 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 ;

Voici un SQLFiddle démo