Postgresql 9.2.24 문서 | ||||
---|---|---|---|---|
PostgreSQL : 문서 : 9.2 : 스포츠 토토 결과 | up | 39 장pl/pgsql - SQL절차 언어 | 다음 |
사용Rain보고서 메시지와 토토 사이트를 높이십시오.
높이 [ 레벨 ] '형식' [, 표현[, ... ]] [사용옵션=표현[, ... ]]; 들어올리다 [ 레벨 ]조건 _name[사용옵션=표현[, ... ]]; 들어올리다 [ 레벨 ] sqlstate 'sqlstate' [사용옵션=표현[, ... ]]; 들어올리다 [ 레벨 ] 사용옵션=표현[, ... ]; 들어올리다 ;
the레벨옵션을 지정합니다 오류 심각도. 허용 레벨은디버그, log, info, 통지, 경고및예외, 와 함께예외기본값이됩니다.예외오류가 발생합니다 ( 일반적으로 현재 거래를 중단합니다); 다른 레벨 만 다른 우선 순위 수준의 메시지를 생성합니다. 메시지 여부 특정 우선 순위는 고객에게보고됩니다. 서버 로그 또는 둘 다에 의해 제어됩니다.log_min_messagesandclient_min_messages구성 변수. 보다18 장자세한 내용은
이후레벨있으면 가능합니다 a 쓰기형식(a 표현이 아닌 간단한 문자열 문자). 형식 문자열 보고 할 오류 메시지 텍스트를 지정합니다. 형식 문자열 뒤에는 선택적인 인수 표현식이 메시지에 삽입되었습니다. 형식 문자열 내부,%의 문자열 표현으로 대체됩니다 다음 선택적 인수의 가치. 쓰다%%문자를 방출하려면%.
이 예에서V_JOB_ID대체%문자열에서 :
'CS_CREATE_JOB (%) 호출', V_JOB_ID; 통지 상승
토토 사이트 보고서에 추가 정보를 첨부 할 수 있습니다. 글쓰기사용그 뒤에옵션=표현항목. 허용옵션키워드는메시지, 세부 사항, 힌트및errcode, 각각표현모든 문자열 값일 수 있습니다 표현.메시지오류를 설정합니다 메시지 텍스트 (이 옵션은 형식으로 사용할 수 없습니다.Rain이전에 형식 문자열을 포함하는사용).세부 사항오류 세부 메시지를 제공합니다.힌트힌트 메시지를 제공합니다.errcode오류 코드 (sqlstate)를 지정합니다 report, 다음에 표시된대로부록 A또는 직접 a 5 자 Sqlstate 코드.
이 예제는 주어진 오류로 트랜잭션을 중단합니다. 메시지와 힌트 :
예외를 제외하고 '존재하지 않는 ID- %', user_id hint = '사용자 ID를 확인하십시오';
이 두 예제는 동등한 방법을 보여줍니다 sqlstate :
'Duplicate User ID : %', ervercode를 사용하여 user_id를 REAS '고유 _violation'; 'Duplicer ID : %', Errcode = '23505';를 사용하여 'Duplicer ID : %', user_id를 올립니다.
두 번째가 있습니다Rain구문 in 주요 인수는 조건 이름 또는 sqlstate가 될 것입니다. 예를 들어보고 :
Division_by_Zero Raise; SQLSTATE '22012';를 높이십시오.
이 구문에서사용익숙해 질 수 있습니다 사용자 정의 오류 메시지, 세부 사항 또는 힌트를 제공하십시오. 또 다른 방법 이전 예는입니다.
메시지를 사용하여 고유 한 _violation을 높이기 = '중복 사용자 ID :'|| user_id;
또 다른 변형은 쓰는 것입니다상승 사용또는Rain레벨사용그리고 다른 모든 것을 넣으십시오 에사용목록.
마지막 변형Rain전혀 매개 변수. 이 양식은 A 내에서만 사용할 수 있습니다.시작블록예외절; 현재 처리중인 토토 사이트가 발생합니다 재투자.
참고 :전PostgreSQL 9.1, Rain매개 변수가없는 것은 다음과 같이 해석되었습니다 활성을 포함하는 블록에서 오류를 다시 제외합니다 예외 처리기. 따라서예외해당 핸들러 안에 중첩 된 조항은 그것을 잡을 수 없습니다. 그만큼Rain중첩 내에 있었다예외조항 블록. 이것은 놀랍고 오라클과 호환되지 않는 것으로 간주됩니다 pl/sql.
조건 이름이나 sqlstate가 a에 지정되지 않은 경우예외 제기명령, 기본값은 사용하는 것입니다Raise_Exception(P0001). 메시지 텍스트가 지정되지 않은 경우 기본값은 조건 이름 또는 sqlstate를 메시지로 사용하는 것입니다. 텍스트.
참고 :sqlstate에서 오류 코드를 지정할 때 코드, 당신은 사전 정의 된 오류 코드에만 국한되지 않지만 5 자리 및/또는 상류 ASCII 편지, 이외의00000. 피하는 것이 좋습니다 세 개의 0으로 끝나는 토토 사이트 코드를 던지기 때문에 카테고리 코드이며 덫에 걸리면 갇힐 수 있습니다. 전체 카테고리.