Bạn sẽ cần phải tự xác thực các giá trị thông số đã truyền. Nếu bạn đang sử dụng MySQL 5.5 trở lên, bạn có thể sử dụng 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 ;
Đây là SQLFiddle bản demo