이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 32.3. 토토 꽁 머니 실행 함수버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

1.2. 스포츠 토토 사이트 실행 기능

데이터베이스 서버에 대한 연결이 성공적으로 이루어지면 설정된 경우 여기에 설명된 함수는 SQL을 수행하는 데 사용됩니다. 스포츠 토토 사이트 및 명령.

1.2.1. 주요 루틴

  • PQexec다음에 질의를 제출하세요.포스트그레그리고 기다리세요 결과.

    PGresult *PQexec(PGconn *conn,
                     const char *쿼리);
    PGresult 포인터 또는 NULL 포인터를 반환합니다. 에이 NULL이 아닌 포인터는 일반적으로 메모리 부족을 제외하고 반환됩니다. 쿼리를 보낼 수 없는 등의 조건 또는 심각한 오류 백엔드. NULL이 반환되면 다음과 같이 처리되어야 합니다. PGRES_FATAL_ERROR 결과입니다. 더 많은 정보를 얻으려면 PQerrorMessage를 사용하세요. 오류에 대한 정보입니다.

PGresult구조 백엔드에서 반환된 스포츠 토토 사이트 결과를 캡슐화합니다.libpq응용프로그램 프로그래머는 다음을 수행해야 합니다. PGresult 추상화를 유지하도록 주의하세요. 사용 아래의 접근자 함수는 PGresult의 내용을 가져옵니다. PGresult 구조의 필드를 직접 참조하지 마세요. 왜냐하면 앞으로도 바뀔 수 있기 때문이다. (시작부터)포스트그레스릴리스 6.4, 구조체 PGresult의 정의도 제공되지 않습니다. libpq-fe.h. PGresult 필드에 액세스하는 이전 코드가 있는 경우 직접 libpq-int.h도 포함하여 계속 사용할 수 있습니다. 하지만 곧 코드를 수정하는 것이 좋습니다.)

  • PQresultStatus다음을 반환합니다. 쿼리 결과 상태입니다.

    ExecStatusType PQresultStatus(const PGresult *res)
    PQresultStatus는 다음 값 중 하나를 반환할 수 있습니다.
    • PGRES_EMPTY_QUERY-- 백엔드로 전송된 문자열이 비어 있습니다.

    • PGRES_COMMAND_OK-- no를 반환하는 명령이 성공적으로 완료되었습니다. 데이터

    • PGRES_TUPLES_OK-- 스포츠 토토 사이트가 성공적으로 실행되었습니다.

    • PGRES_COPY_OUT-- 복사 (서버에서) 데이터 전송이 시작되었습니다.

    • PGRES_COPY_IN-- 복사 (서버로) 데이터 전송이 시작되었습니다.

    • PGRES_BAD_RESPONSE-- 서버의 응답을 이해할 수 없습니다.

    • PGRES_NONFATAL_ERROR

    • PGRES_FATAL_ERROR

    결과 상태가 다음과 같은 경우PGRES_TUPLES_OK, 루틴 설명 아래는 반환된 튜플을 검색하는 데 사용할 수 있습니다. 스포츠 토토 사이트. 0을 검색하는 SELECT에 유의하세요. 튜플은 여전히 표시됩니다.PGRES_TUPLES_OK. PGRES_COMMAND_OK다음을 수행할 수 있는 명령용입니다. 튜플(INSERT, UPDATE 등)을 반환하지 마세요. 의 응답PGRES_EMPTY_QUERY종종 노출 클라이언트 소프트웨어의 버그입니다.
  • PQresStatus변환합니다 PQresultStatus가 문자열로 반환한 열거형 상태 코드를 설명하는 상수입니다.

    char *PQresStatus(ExecStatusType 상태);
  • PQresultErrorMessage반환 스포츠 토토 사이트와 관련된 오류 메시지 또는 비어 있는 오류가 없으면 문자열입니다.

    char *PQresultErrorMessage(const PGresult *res);
    즉시 다음PQexec또는PQgetResult전화,PQerrorMessage(연결에서)는 다음을 반환합니다. 와 같은 문자열PQresultErrorMessage(결과에 대해). 그러나 PGresult는 다음까지 오류 메시지를 유지합니다. 연결 오류 메시지는 파괴되지만 후속 작업이 완료되면 변경됩니다. 사용PQresultErrorMessage당신이 알고 싶을 때 특정 PGresult와 관련된 상태; 사용PQerrorMessage원할 때 최신 작업의 상태를 알 수 있습니다. 연결.
  • PQclear저장공간 확보 PGresult와 연결됩니다. 모든 쿼리 결과는 다음과 같아야 합니다. 더 이상 필요하지 않을 때 PQclear를 통해 해제됩니다.

    void PQclear(PQresult *res);
    당신은 필요한 만큼 PGresult 객체를 유지할 수 있습니다 그것; 새 쿼리를 실행해도 사라지지 않으며, 연결을 닫습니다. 이를 제거하려면 전화해야 합니다.PQclear. 이를 수행하지 않으면 프런트엔드 애플리케이션에서 메모리 누수가 발생합니다.
  • PQmakeEmptyPGresult구조물 주어진 상태의 빈 PGresult 객체.

    PGresult* PQmakeEmptyPGresult(PGconn *conn, ExecStatusType 상태);
    할당 및 초기화를 위한 libpq의 내부 루틴입니다. 빈 PGresult 객체. 일부 응용 프로그램 때문에 내보내집니다. 결과 개체(특히 개체)를 생성하는 것이 유용하다는 것을 알았습니다. 오류 상태) 자체. conn이 NULL이 아니고 상태인 경우 오류를 표시하면 연결의 현재 errorMessage가 복사됩니다. PGresult에 넣습니다. PQclear는 결국 호출되어야 합니다. libpq 자체에서 반환된 PGresult와 마찬가지로 객체입니다.

1.2.2. SELECT 결과 검색 중 정보

  • PQntuples숫자를 반환합니다. 스포츠 토토 사이트 결과의 튜플(행) 수

    int PQntuples(const PGresult *res);
  • PQn필드숫자를 반환합니다. 스포츠 토토 사이트의 각 튜플에 있는 필드(속성) 결과.

    int PQnfields(const PGresult *res);
  • PQfname필드를 반환합니다. (속성) 주어진 필드 인덱스와 연관된 이름입니다. 필드 인덱스는 0부터 시작합니다.

    char *PQfname(const PGresult *res,
                        int field_index);
  • PQf번호필드를 반환합니다. (속성) 주어진 필드 이름과 연관된 인덱스입니다.

    int PQfnumber(const PGresult *res,
                  const char *필드_이름);

    주어진 이름이 일치하지 않는 경우 -1이 반환됩니다. 필드.

  • PQftype필드 유형을 반환합니다. 주어진 필드 인덱스와 연관되어 있습니다. 반환된 정수 유형의 내부 코딩입니다. 필드 인덱스는 다음에서 시작됩니다. 0.

    Oid PQftype(const PGresult *res,
                int field_index);
    시스템 테이블을 스포츠 토토 사이트할 수 있습니다.pg_type이름과 속성을 얻으려면 다양한 데이터 유형.OID의 내장 데이터 유형은 다음에서 정의됩니다.src/include/catalog/pg_type.h소스 트리에서.
  • PQfmod다음을 반환합니다. 연관된 필드의 유형별 수정 데이터 주어진 필드 인덱스로. 필드 인덱스는 0부터 시작합니다.

    int PQfmod(const PGresult *res,
               int field_index);
  • PQfsize크기를 반환합니다. 주어진 필드 인덱스와 연관된 필드의 바이트입니다. 필드 인덱스는 0부터 시작합니다.

    int PQfsize(const PGresult *res,
                int field_index);
    PQfsize는 이 필드에 할당된 공간을 데이터베이스 튜플, 즉 서버 바이너리의 크기 데이터 유형의 표현. 필드가 다음과 같은 경우 -1이 반환됩니다. 가변 크기.
  • PQbinaryTuples다음인 경우 1을 반환합니다. PGresult에 바이너리 튜플 데이터가 포함되어 있으면 0입니다. ASCII 데이터.

    int PQbinaryTuples(const PGresult *res);
    현재 바이너리 튜플 데이터는 쿼리로만 반환될 수 있습니다. a에서 데이터를 추출합니다.바이너리커서.

1.2.3. SELECT 결과 검색 중 값

  • PQgetvalue단일 반환 PGresult의 한 튜플에 대한 필드(속성) 값입니다. 튜플 필드 인덱스는 0부터 시작합니다.

    char* PQgetvalue(const PGresult *res,
                     정수 tup_num,
                     int field_num);
    대부분의 스포츠 토토 사이트에서 반환된 값은PQgetvaluenull로 종료됨ASCII문자열 표현 속성 값. 하지만 만일PQbinaryTuples()1, 반환된 값 으로PQgetvalue바이너리입니다 내부 형식으로 유형을 표현합니다. 백엔드 서버(단, 크기 단어는 포함되지 않음) 필드는 가변 길이입니다). 그러면 프로그래머의 몫이다 데이터를 올바른 형식으로 캐스팅하고 변환할 책임 C타입. 에서 반환된 포인터PQgetvalue일부인 저장소를 가리킵니다. PGresult 구조의 수정해서는 안 되며, 다음과 같은 경우 해당 값을 다른 저장소에 명시적으로 복사해야 합니다. PGresult 구조의 수명이 지나서 사용됩니다. 그 자체.
  • PQgetisnull다음 필드를 테스트합니다. NULL 항목. 튜플 및 필드 인덱스는 0부터 시작합니다.

    int PQgetisnull(const PGresult *res,
                    정수 tup_num,
                    int field_num);
    이 함수는 필드에 NULL이 포함되어 있으면 1을 반환하고, NULL이 포함되어 있으면 0을 반환합니다. null이 아닌 값이 포함되어 있습니다. (PQgetvalue는 NULL 필드의 경우 null 포인터가 아닌 빈 문자열입니다.)
  • PQgetlength길이를 반환합니다. 필드(속성) 값(바이트)입니다. 튜플과 필드 인덱스는 0부터 시작합니다.

    int PQgetlength(const PGresult *res,
                    정수 tup_num,
                    int field_num);
    이것은 특정 데이터 값에 대한 실제 데이터 길이입니다. 이는 PQgetvalue가 가리키는 객체의 크기입니다. 참고하세요 ASCII로 표현된 값의 경우 이 크기는 크기와 거의 관련이 없습니다. PQfsize에 의해 보고된 바이너리 크기입니다.
  • PQprint모든 내용을 인쇄합니다. 튜플 및 선택적으로 속성 이름 지정된 출력 스트림.

    void PQprint(FILE* fout, /* 출력 스트림 */
                 const PGresult *res,
                 const PQprintOpt *po);
    
    구조체 
        pqbool 헤더;      /* 출력 필드 제목과 행 개수를 인쇄합니다 */
        pqbool 정렬;       /* 필드 채우기 채우기 */
        pqbool 표준;    /* 오래된 뇌사 형식 */
        pqbool html3;       /* HTML 테이블 출력 */
        pqbool 확장;    /* 테이블 확장 */
        pqbool 호출기;       /* 필요한 경우 출력을 위해 호출기를 사용합니다 */
        char *fieldSep;   /* 필드 구분자 */
        char *tableOpt;   /* HTML에 삽입테이블 ...*/
        문자 *캡션;    /* HTML캡션*/
        char **필드명; /* null로 끝나는 대체 필드 이름 배열 */
     PQprintOpt;
    이 기능은 이전에 다음에서 사용되었습니다.psql쿼리 결과를 인쇄하지만 더 이상 그렇지 않습니다. 케이스이며 이 기능은 더 이상 적극적으로 지원되지 않습니다.

1.2.4. 비SELECT 결과 검색 정보

  • PQcmd상태다음을 반환합니다. 생성된 SQL 명령의 명령 상태 문자열 PGresult.

    char * PQcmdStatus(const PGresult *res);
  • PQcmdTuples숫자를 반환합니다. SQL 명령의 영향을 받는 행 수입니다.

    char * PQcmdTuples(const PGresult *res);
    만약SQL명령하세요 PGresult가 INSERT, UPDATE 또는 DELETE로 생성되면 다음을 반환합니다. 영향을 받은 행 수를 포함하는 문자열입니다. 명령이 다음과 같은 경우 그 밖의 경우에는 빈 문자열을 반환합니다.
  • PQoidValue객체를 반환합니다. 삽입된 튜플의 ID(SQL명령은 INSERT였습니다. 그렇지 않으면, 반품InvalidOid.

    Oid PQoidValue(const PGresult *res);
    유형오이드그리고 상수InvalidOid다음과 같은 경우에 정의됩니다. 다음을 포함합니다.libpq헤더 파일. 둘 다 정수 유형입니다.
  • PQoid상태문자열을 반환합니다 튜플의 객체 ID가 삽입된 경우,SQL명령은 INSERT였습니다. 그렇지 않으면 빈 문자열을 반환합니다.

    char * PQoidStatus(const PGresult *res);
    이 기능은 다음을 위해 더 이상 사용되지 않습니다.PQoidValue그리고 스레드로부터 안전하지 않습니다.