RAISE 문을 사용하여 메시지를 보고하고 스포츠 토토 사이트.
올림레벨 '형식' [, 변수 [...]];
가능한 수준은 DEBUG입니다(메시지를 postmaster 로그), NOTICE(포스트마스터 로그에 메시지를 기록합니다. 기록하여 클라이언트 애플리케이션에 전달) 및 EXCEPTION (스포츠 토토 사이트가 발생하여 거래가 중단됩니다.)
형식 문자열 내부,%이다 다음 선택적 인수의 외부 표현으로 대체됩니다. 쓰기%%리터럴을 내보내다%. 현재 선택적 인수는 다음과 같아야 합니다. 표현식이 아닌 단순 변수여야 하며 형식은 다음과 같아야 합니다. 간단한 문자열 리터럴.
예:
RAISE NOTICE ''cs_create_job(%) 호출 중'',v_job_id;
이 예에서는 v_job_id 값이 %를 대체합니다. 문자열.
예외 발생 ''존재하지 않는 ID -- %'',user_id;
이것은 해당 스포츠 토토 사이트로 인해 거래가 중단됩니다 메시지.
포스트그레SQL이 없습니다 매우 똑똑한 예외 처리 모델. 파서가 실행될 때마다, 플래너/옵티마이저 또는 실행자는 명령문이 다음과 같이 결정될 수 없다고 결정합니다. 더 이상 처리되지 않으면 전체 거래가 중단되고 시스템은 다음 쿼리를 얻기 위해 메인 루프로 다시 점프합니다. 클라이언트 애플리케이션에서.
오류 메커니즘을 연결하여 알 수 있습니다. 이런 일이 일어난다는 것. 하지만 현재로서는 무엇인지 알 수 없습니다. 실제로 중단이 발생했습니다(입력/출력 변환 오류, 부동 소수점 오류, 구문 분석 오류). 그리고 다음이 가능합니다. 현재 데이터베이스 백엔드는 일관성이 없는 상태이므로 상위 실행기로 돌아가거나 추가 명령을 실행하면 전체 데이터베이스를 손상시킵니다.
그래서 유일한 것은PL/pgSQL현재 다음을 만날 때 그렇습니다. 함수 또는 트리거 프로시저 실행 중 중단은 다음과 같습니다. 몇 가지 추가 NOTICE 수준 로그 메시지를 작성합니다. 어떤 기능과 어디에(행 번호와 명령문 유형) 이런 일이 일어났습니다. 오류로 인해 항상 실행이 중지됩니다. 기능.