2013-05-29 1 views
0

저는 지난 며칠간이 MySQL을 배웠습니다. 이전에는 PostgreSQL으로 개발했습니다. 어쩌면 나는 무언가를 놓쳤다. 그래서 여기에서 올바른 튜토리얼이나 질문을 찾을 수 없었다. 이 링크가 중복되는 경우 언제든지 링크를 제공하십시오.

곧바로 간다. 내 질문은 다음과 같다.
이것은 내 프로 시저에서 직접 복사 한 PostgreSQL로 작성되었으며, MySQL과 비슷한 것이 있습니까? (String에 신경 쓰지 마십시오.)MySQL x Java - 예외 발생

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

답변

1

당신은 DECLARE ... HANDLER은 MySQL의 버전 5.5 이후, 예외를 캐치 할 수 있습니다, 당신은 각각 기존의 예외를 전달/자신을 높이려면 SIGNAL하거나 RESIGNAL; 이러한 문에서 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

안녕 덕분에. 이것이 제가 찾고 있던 것입니다. 환호;) –