사용Rain
메시지를보고하고 사설 토토 사이트를 제기하려는 진술.
높이 [레벨
] '형식
' [,표현
[, ... ]] [사용옵션
= | : =표현
[, ... ]]; 들어올리다 [레벨
]조건 _name
[사용옵션
= | : =표현
[, ... ]]; 들어올리다 [레벨
] sqlstate 'sqlstate
' [사용옵션
= | : =표현
[, ... ]]; 들어올리다 [레벨
] 사용옵션
= | : =표현
[, ... ]; 들어올리다 ;
the레벨
옵션 오류 심각도를 지정합니다. 허용 레벨은디버그
, log
, 정보
, 통지
, 경고
및예외
, with예외
기본값예외
오류가 발생합니다 (일반적으로 현재 트랜잭션을 중단). 다른 수준은 우선 순위가 다른 메시지 만 생성합니다. 특정 우선 순위의 메시지가 클라이언트에게보고되었는지, 서버 로그에 기록되었는지 또는 둘 다에 의해 제어되는지log_min_messagesandclient_min_messages구성 변수. 보다PostgreSQL : 문서 : 18 : 19 장 서버 범퍼카 토토자세한 내용은
첫 번째 구문 변형에서레벨
있는 경우 쓰기형식
String (표현이 아닌 간단한 문자열 문자이어야 함). 형식 문자열은보고 할 오류 메시지 텍스트를 지정합니다. 형식 문자열에는 메시지에 삽입 할 옵션 인수 표현식이 표시 될 수 있습니다. 형식 문자열 내부,%
는 다음 선택적 인수 값의 문자열 표현으로 대체됩니다. 쓰다%%
문자를 방출하려면%
. 인수 수는 수와 일치해야합니다.%
형식 문자열의 자리 표시 자나 함수를 편집하는 동안 오류가 발생합니다.
이 예에서V_JOB_ID
대체%
문자열에서 :
통지 통지 'CS_CREATE_JOB (%) 호출', V_JOB_ID;
두 번째 및 세 번째 구문 변형에서조건 _name
andsqlstate
각각 사설 토토 사이트 조건 이름 또는 5 자 Sqlstate 코드를 지정하십시오. 보다PostgreSQL : 문서 : 18 : 부록 A. PostgreSQL 토토 코드유효한 오류 조건 이름 및 사전 정의 된 SQLState 코드의 경우
다음은의 예입니다.조건 _name
andsqlstate
사용법 :
Division_by_Zero Raise; 경고 제기 SQLSTATE '22012';
이러한 구문 변형 중 하나에서는 서면으로 오류 보고서에 추가 정보를 첨부 할 수 있습니다사용
그 뒤에옵션
=표현
항목. 각표현
모든 문자열 값 표현식 일 수 있습니다. 허용옵션
키워드는 다음과 같습니다.
이 예제는 주어진 오류 메시지와 힌트로 트랜잭션을 중단합니다 :
예외를 제외하고 '존재하지 않는 ID- %', user_id hint = '사용자 ID를 확인하십시오';
이 두 예제는 sqlstate를 설정하는 동등한 방법을 보여줍니다 :
'Duplicate User ID : %', erus_id를 사용하여 Errcode = '고유 _violation'; 'Duplicer ID : %', Errcode = '23505';를 사용하여 'Duplicer ID : %', user_id를 올립니다.
같은 결과를 생성하는 또 다른 방법은 다음과 같습니다.
Message = 'Duplicate User ID :'|| user_id;
네 번째 구문 변형에 표시된대로 쓰기도 할 수도 있습니다사용
또는Rain
그리고 다른 모든 것을에 넣으십시오.레벨
사용사용
List.
마지막 변형Rain
전혀 매개 변수가 없습니다. 이 양식은 A 내에서만 사용할 수 있습니다.시작
블록예외
절; 현재 처리중인 오류가 다시 열렸습니다.
전PostgreSQL 9.1, Rain
매개 변수가없는 것은 활성 예외 핸들러를 포함하는 블록에서 오류를 다시 제외하는 것으로 해석되었습니다. 따라서예외
해당 핸들러 안에 중첩 된 조항은이더라도 잡을 수 없습니다.Rain
중첩 내에 있었다예외
절의 블록. 이것은 Oracle의 PL/SQL과 양립 할 수없는 놀라운 것으로 간주되었습니다.
조건 이름이나 sqlstate가 a에 지정되지 않은 경우예외 제기
명령, 기본값은 사용하는 것입니다Raise_Exception
(P0001
). 메시지 텍스트가 지정되지 않은 경우 기본값은 조건 이름 또는 sqlstate를 메시지 텍스트로 사용하는 것입니다.
SQLSTATE 코드별로 오류 코드를 지정할 때 사전 정의 된 오류 코드에만 국한되지 않지만 5 자리 및/또는 상단 사례 ASCII 문자로 구성된 오류 코드를 선택할 수 있습니다.00000
. 카테고리 코드이며 전체 카테고리를 포획 하여만 갇힐 수 있기 때문에 3 개의 0으로 끝나는 사설 토토 사이트 코드를 던지는 것을 피하는 것이 좋습니다..
theAssert
명령문은 디버깅 체크를 삽입하기위한 편리한 속기입니다pl/pgsql기능.
Assert조건
[ ,메시지
];
the조건
항상 진실로 평가할 것으로 예상되는 부울 표현입니다. 그렇다면Assert
성명서는 더 이상 아무것도하지 않습니다. 결과가 False 또는 Null이면assert_failure
예외가 제기됩니다. (평가 중에 오류가 발생하는 경우조건
, 정상 사설 토토 사이트로보고됩니다.)
선택 사항 인 경우메시지
제공됩니다. 결과 (NULL이 아닌 경우)의 결과 (기본 오류 메시지 텍스트를 대체하는) 표현식입니다.“어설 션 실패”,조건
실패. 그만큼메시지
어설 션이 성공하는 정상적인 경우에는 표현이 평가되지 않습니다.
구성 매개 변수를 통해 어설 션 테스트를 활성화 또는 비활성화 할 수 있습니다plpgsql.check_asserts
, 부울 가치를 취합니다. 기본값은on
. 이 매개 변수 인 경우OFF
theAssert
진술은 아무것도하지 않습니다.
참고Assert
는 일반 오류 조건을보고하는 것이 아니라 프로그램 버그를 감지하기위한 것입니다. 사용Raine
위에서 설명한 진술.