2013-05-29 58 views
0

過去幾天我一直在學習MySQL。以前,我使用PostgreSQL進行開發。也許我錯過了一些東西,無法在SO中找到正確的教程或問題。如果這是重複的,請隨時提供鏈接。

我會直接指向這一點,我的問題是:
- 這是寫在PostgreSQL直接從我的過程複製,有沒有類似於MySQL中的這個? (不介意字符串)。MySQL x Java - 引發異常

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

回答

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' 
; 
+0

您好感謝答覆。這是我正在尋找的。乾杯;) –