Mysql
 sql >> Datenbank >  >> RDS >> Mysql

NULL-Parameter für gespeicherte Prozeduren in MySQL/MariaDB verbieten

Sie müssten übergebene Parameterwerte selbst validieren. Wenn Sie MySQL 5.5 und höher verwenden, können Sie 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 ;

Hier ist ein SQLFiddle Demo