Veg*_*tus 15 mysql stored-procedures exception
如何在MySQL中的存储过程中生成异常?例如:
CREATE PROCEDURE SALES()
BEGIN
STATEMENT...
STATEMENT...
STATEMENT...
IF (PRICE >= 500) THEN
/** THROWS AN EXCEPTION....
WHAT DO TO STOP THE PROCEDURE. **/
END IF;
STATEMENT...
STATEMENT...
STATEMENT...
END;
Run Code Online (Sandbox Code Playgroud)
在MySQL中我认为没有办法在存储过程中抛出异常,但我可以通过从不存在的表中选择来强制错误.例如:
IF (PRICE > 500) THEN
/*throw the error here*/
SELECT * FROM price_greater_than_500_in_throw_exception;
END IF;
Run Code Online (Sandbox Code Playgroud)
有更优雅的方式吗?
谢谢.
Ula*_*ach 16
以下是如何在 mysql 中抛出异常的示例,该示例适用于 5.5 及更高版本:
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Custom error';
Run Code Online (Sandbox Code Playgroud)
详细信息可以在这里找到:https : //dev.mysql.com/doc/refman/5.5/en/signal.html