sql >> Databáze >  >> RDS >> Mysql

Zakázat parametry NULL pro uložené procedury v MySQL/MariaDB

Předané hodnoty parametrů byste museli sami ověřit. Pokud používáte MySQL 5.5 a vyšší, můžete využít 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 ;

Zde je SQLFiddle demo




  1. Mohu mít v uložené proceduře volitelný parametr OUTPUT?

  2. Jiný způsob, jak přenést varbit na int? A bigint?

  3. získat část data pouze z hodnoty datetime pomocí entity framework

  4. Jak extrahovat řetězec mezi dvěma speciálními znaky v mysql