我创建了一个过程,在该过程中,如果输入等于0,则该过程将抛出一个带有错误消息“dwa”的SQLException。

CREATE PROCEDURE enter_the_dragon(test INT)

BEGIN

  DECLARE test_error CONDITION FOR SQLSTATE '42123';

  IF test = 0 THEN

    SIGNAL test_error
      SET MESSAGE_TEXT = 'dwa';

  END IF;

END;

我知道SQLSTATE值“00000”表示没有错误,以“01”开头的SQLSTATE是一个警告。这是否意味着每一个不与这两个规则冲突的SQLSTATE都是一个错误?
考虑到这些规则,SQLSTATE上还有其他规则吗?格式?或者我可以创建自己的SQLSTATE(例如01123(警告)等)?

最佳答案

有同样的问题,看:http://dev.mysql.com/doc/refman/5.5/en/signal.html
='00'(成功)
='01'(警告)
='02'(未找到)
>“02”(例外)

09-20 03:51