Mysql
 sql >> Database >  >> RDS >> Mysql

Non consentire i parametri NULL alle procedure memorizzate in MySQL/MariaDB

Dovresti convalidare tu stesso i valori dei parametri passati. Se stai usando MySQL 5.5 e versioni successive, puoi utilizzare 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 ;

Ecco un SQLFiddle demo