PL/사설 토토 사이트 함수 내 또는 PL/사설 토토 사이트 함수에서 호출된 사설 토토 사이트 코드는 잘못된 작업을 실행하거나 사설 토토 사이트을 사용하여 오류를 생성하여 오류를 일으킬 수 있습니다.오류명령 또는 PL/사설 토토 사이트'selog명령. 이러한 오류는 Tcl을 사용하여 Tcl 내에서 포착될 수 있습니다.잡기명령. 오류가 포착되지 않았지만 PL/Tcl 함수 실행의 최상위 수준으로 전파되도록 허용된 경우 함수 호출 쿼리에서 SQL 오류로 보고됩니다.
반대로, PL/Tcl 내에서 발생하는 SQL 오류spi_exec, spi_prepare그리고spi_execp명령은 Tcl 오류로 보고되므로 Tcl에서 잡을 수 있습니다.잡기명령. (각 PL/Tcl 명령은 하위 트랜잭션에서 SQL 작업을 실행하며 오류 발생 시 롤백되므로 부분적으로 완료된 작업은 자동으로 정리됩니다.) 다시 말하지만, 오류가 포착되지 않고 최상위 수준으로 전파되면 SQL 오류로 돌아갑니다.
Tcl은 다음을 제공합니다오류코드Tcl 프로그램이 해석하기 쉬운 형식으로 오류에 대한 추가 정보를 나타낼 수 있는 변수입니다. 내용은 Tcl 목록 형식이며 첫 번째 단어는 오류를 보고하는 하위 시스템 또는 라이브러리를 식별합니다. 그 이후의 내용은 개별 하위 시스템이나 라이브러리에 맡겨집니다. PL/Tcl 명령으로 보고된 데이터베이스 오류의 경우 첫 번째 단어는포스트그레스, 두 번째 단어는 PostgreSQL 버전 번호이고 추가 단어는 오류에 대한 자세한 정보를 제공하는 필드 이름/값 쌍입니다. 필드SQLSTATE, 조건및메시지항상 제공됩니다(처음 두 개는 다음과 같이 오류 코드와 조건 이름을 나타냅니다.PostgreSQL : 문서 : 17 : 부록 A. PostgreSQL 메이저 토토 사이트 코드). 존재할 수 있는 필드는 다음과 같습니다.세부정보, 힌트, 컨텍스트, 스키마, 테이블, 열, 데이터 유형, 제약, 성명, cursor_position, 파일 이름, lineno및기능 이름.
PL/사설 토토 사이트을 사용하는 편리한 방법오류코드정보는 필드 이름이 배열 첨자가 되도록 배열에 로드하는 것입니다. 이를 수행하기 위한 코드는 다음과 같습니다.
if [catch  spi_exec $sql_command ] 
    if [linindex $::errorCode 0] == "POSTGRES" 
        배열 세트 errorArray $::errorCode
        if $errorArray(조건) == "정의되지 않은_테이블" 
            # 누락된 테이블 처리
         그렇지 않으면 
            # 다른 유형의 SQL 오류를 처리합니다.
  (이중 콜론은 명시적으로 다음을 지정합니다.오류 코드전역 변수입니다.)
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.