이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 32.3. 토토 꽁 머니 실행 함수버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

1.2. 질문 실행 기능

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

1.2.1. 주요 루틴

  • PQEXEC스포츠 토토 사이트 제출Postgres를 기다리십시오 결과.

    pgresult *pqexec (pgconn *conn,
                     const char *query);
    pgresult 포인터 또는 널 포인터를 반환합니다. 에이 비 널 포인터는 일반적으로 메모리를 제외하고 반환됩니다 스포츠 토토 사이트를 백엔드. 널이 반환되면 pgres_fatal_error 결과. pqerrormessage를 사용하여 더 많은 것을 얻으십시오 오류에 대한 정보.

thepgresult구조 백엔드에서 반환 한 스포츠 토토 사이트 결과를 캡슐화합니다.libpq응용 프로그램 프로그래머 pgresult 추상화를 유지하도록주의하십시오. 사용하십시오 Accessor는 아래에서 pgresult의 내용을 얻기 위해 기능합니다. pgresult 구조의 필드를 직접 참조하지 마십시오 그들은 미래에 변화를 겪을 수 있기 때문입니다. (시작Postgres릴리스 6.4, the Struct 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을 검색하는 선택이 발생합니다 튜플이 여전히 보여줍니다pgres_tuples_ok. pgres_command_ok는 할 수있는 명령입니다 튜플을 반환하지 마십시오 (삽입, 업데이트 등). 의 응답pgres_empty_query종종 a 클라이언트 소프트웨어의 버그.
  • pqresstatus변환 열거 된 유형은 pqresultstatus에 의해 문자열로 반환됩니다 상태 코드를 설명하는 상수.

    char *pqresstatus (execstatustype status);
  • PQRESULTERRORMESSAGE반환 스포츠 토토 사이트와 관련된 오류 메시지 또는 빈 오류가없는 경우 문자열.

    char *pqresulterrormessage (const pgresult *res);
    바로 다음PQEXEC또는pqgetresultCall,PQERRORMESSAGE(연결 중)가 와 동일한 문자열PQRESULTERRORMESSAGE(결과에서). 그러나 pgresult는까지 오류 메시지를 유지합니다 연결 오류 메시지는 파괴되면됩니다 후속 작업이 완료되면 변경됩니다. 사용PQRESULTERRORMESSAGE알고 싶을 때 특정 pgresult와 관련된 상태; 사용PQERRORMESSAGE원할 때 최신 작업의 상태를 알고 있습니다 연결.
  • PQCLEAR스토리지를 해제합니다 pgresult와 관련이 있습니다. 모든 쿼리 결과가 있어야합니다 더 이상 필요하지 않을 때 pqclear를 통해 해방됩니다.

    void pqclear (pqresult *res);
    필요한만큼 Pgresult 객체를 주위에 보관할 수 있습니다. 그것; 새 쿼리를 발행 할 때 또는 심지어 연결을 닫으십시오. 제거하려면 전화해야PQCLEAR. 이렇게하지 않을 것입니다 프론트 엔드 애플리케이션에서 메모리 누출이 발생합니다.
  • pqmakeemptypypgresult구성 주어진 상태를 가진 빈 pgresult 객체.

    pgresult * pqmakeemptypypygresult (pgconn * conn, execstatustype status);
    이것은 LIBPQ의 내부 루틴을 할당하고 초기화하는 내부 루틴입니다 빈 pgresult 물체. 일부 응용 프로그램이므로 수출됩니다 결과 객체 (특히 객체)를 생성하는 것이 유용하다고 생각합니다 오류 상태) 자체. Conn이 Null이 아닌 상태 인 경우 오류가 표시되고 연결의 현재 errormessage가 복사됩니다 pgresult로. PQCLEAR는 결국 호출되어야합니다 객체는 libpq 자체에 의해 반환 된 pgresult와 마찬가지로.

1.2.2. 선택 결과 검색 정보

  • pqntuples번호를 반환합니다 스포츠 토토 사이트 결과에서 튜플 (행)의

    int pqntuples (const pgresult *res);
  • pqnfields번호를 반환합니다 스포츠 토토 사이트의 각 튜플에서 필드 (속성) 결과.

    int pqnfields (const pgresult *res);
  • pqfname필드를 반환합니다 (속성) 주어진 필드 인덱스와 관련된 이름. 현장 지수는 0에서 시작합니다.

    char *pqfname (const pgresult *res,
                        int field_index);
  • pqfnumber필드를 반환합니다 (속성) 주어진 필드 이름과 관련된 색인.

    int pqfnumber (const pgresult *res,
                  const char *field_name);

    -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이 반환됩니다 가변 크기.
  • pqbinaryTuplesIF를 반환합니다 pgresult에는 이진 튜플 데이터가 포함되어 있습니다. ASCII 데이터.

    int pqbinaryTuples (const pgresult *res);
    현재, 이진 튜플 데이터는 쿼리로만 반환 할 수 있습니다. a에서 데이터를 추출합니다.binary커서.

1.2.3. 선택 결과 검색 값

  • pqgetValue단일을 반환합니다 필드 (속성) pgresult의 한 튜플의 값. 튜플 현장 지수는 0에서 시작합니다.

    char * pqgetValue (const pgresult * res,
                     int tup_num,
                     int field_num);
    대부분의 스포츠 토토 사이트의 경우pqgetValue무효가 종료되었습니다ASCII문자열 표현 속성 값. 하지만 ifpqbinaryTuples ()1, 반환 된 값은 1입니다 에 의해pqgetValue는 이진입니다 내부 형식의 유형 표현 백엔드 서버 (그러나 크기 단어를 포함하지 않음 필드는 가변 길이)입니다. 그런 다음 프로그래머의 것입니다 데이터를 올바른 것으로 변환하고 변환 할 책임 C 유형. 포인터는pqgetValue일부인 스토리지를 가리 킵니다 pgresult 구조의. 하나는 그것을 수정해서는 안됩니다 값을 다른 스토리지에 명시 적으로 복사해야합니다. pgresult 구조의 수명을 지나서 사용해야합니다. 그 자체.
  • PQGETISNULL필드를 테스트합니다 널 입구. 튜플 및 현장 지수는 0에서 시작합니다.

    int pqgetisnull (const pgresult *res,
                    int tup_num,
                    int field_num);
    이 함수는 필드에 null이 포함 된 경우 1, 0이면 0을 반환합니다. 널 값이 아닌 값이 포함되어 있습니다. (pqgetValue는 an을 반환합니다 널 필드를위한 널 포인터가 아닌 빈 문자열.)
  • pqgetle스포츠 토토 사이트th길이를 반환합니다 바이트의 필드 (속성) 값의. 튜플과 필드 지수는 0에서 시작합니다.

    int pqgetle스포츠 토토 사이트th (const pgresult *res,
                    int tup_num,
                    int field_num);
    이것은 특정 데이터 값의 실제 데이터 길이입니다. 이것이 PQGetValue가 가리키는 물체의 크기입니다. 주목하십시오 ascii-represented 값의 경우이 크기는 PQFSize에 의해보고 된 이진 크기.
  • pqprint모든 것을 인쇄합니다 튜플 및 선택적으로 속성 이름은 지정된 출력 스트림.

    void pqprint (파일* fout, /* 출력 스트림* /
                 const pgresult *res,
                 const pqprintopt *po);
    
    구조 
        PQBOOL 헤더;      / * 출력 필드 제목 및 행 카운트 인쇄 */
        pqbool 정렬;       / * 채우기 필드 정렬 */
        PQBOOL 표준;    / * Old Brain Dead 형식 */
        PQBOOL HTML3;       / * 출력 HTML 테이블 */
        PQBOOL 확장;    / * 테이블 확장 */
        PQBOOL 호출기;       / * 필요한 경우 출력을 위해 호출기를 사용하십시오 */
        char *fieldsep;   / * 필드 분리기 */
        char *tableopt;   /* HTML에 삽입테이블 ...*/
        char *캡션;    /* html캡션*/
        char ** fieldname; / * NULL 교체 필드 이름의 배열 */
     pqprintopt;
    이 기능은 이전에에 사용되었습니다.PSQL쿼리 결과를 인쇄하려면 더 이상 그렇지 않습니다 사례 와이 기능은 더 이상 적극적으로 지원되지 않습니다.

1.2.4. 비 선택 결과 검색 정보

  • pqcmdstatus반환합니다 생성 된 SQL 명령에서 명령 상태 문자열 Pgresult.

    char * pqcmdstatus (const pgresult * res);
  • pqcmdtuples번호를 반환합니다 SQL 명령에 의해 영향을받는 행.

    char * pqcmdtuples (const pgresult * res);
    SQLpgresult가 삽입, 업데이트 또는 삭제되었다고 생성 한 후 영향을받는 행 수를 포함하는 문자열. 명령이 있다면 다른 것은 빈 문자열을 반환합니다.
  • pqoidvalue개체를 반환합니다 튜플 삽입 ID,SQL명령은 인서트였습니다. 그렇지 않으면, 보고Invalidoid.

    OID pqoidValue (const pgresult *res);
    유형OID및 상수invalidoid당신은 정의됩니다 포함libpq헤더 파일. 둘 다 정수 유형이 될 것입니다.
  • pqoidstatus문자열을 반환합니다 튜플의 객체 ID가 삽입 된 경우SQL명령은 인서트였습니다. 그렇지 않으면 빈 문자열을 반환합니다.

    char * pqoidstatus (const pgresult * res);
    이 함수는에 찬성하여 더 이상 사용되지 않습니다.pqoidvalue그리고 스레드-안전하지 않습니다.