0

这几天我一直在学习MySQL。以前,我使用 PostgreSQL 进行开发。也许我错过了一些东西,并且无法在 SO 中找到正确的教程或问题。如果这是重复的,请随时提供链接。

我会直截了当,我的问题是:
-这是直接从我的程序复制的 PostgreSQL 中编写的,在 MySQL 中是否有类似的东西?(不要介意字符串)。

EXCEPTION
    WHEN OTHERS THEN
        RAISE EXCEPTION 'app_get_rpt_doctor_signature_all(text) %',
            'OTHERS ' || SQLERRM;
4

1 回答 1

1

您可以DECLARE ... HANDLER捕获异常,并且从 MySQL v5.5 开始,您可以SIGNALRESIGNAL分别提出自己的/传递现有异常;在这些语句中,可以SET MESSAGE_TEXT指定自定义消息,但遗憾的是无法访问现有(已处理)异常的消息文本。

因此,您可以这样做:

DECLARE EXIT HANDLER FOR SQLEXCEPTION
  SIGNAL SQLSTATE '45000'
  SET MESSAGE_TEXT := 'app_get_rpt_doctor_signature_all(text) OTHERS'
;

或者RESIGNAL消息不变:

DECLARE EXIT HANDLER FOR SQLEXCEPTION
  RESIGNAL SQLSTATE '45000'
;
于 2013-05-29T07:49:36.000 回答