Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.2.1 |  CUBRID 8.3.0 |  CUBRID 8.3.1 |  CUBRID 8.4.0 |  CUBRID 8.4.1 |  CUBRID 8.4.3 |  CUBRID 9.0.0 | 

cci_prepare

설명

SQL 문에 관한 요청 핸들을 획득하여 SQL 실행을 준비한다. 단, SQL 문이 여러 개의 질의로 구성된 경우, 첫 번째 질의에 대해서만 실행을 준비한다. 이 함수의 인자로 연결 핸들, SQL문, flag, 오류 정보를 저장할 T_CCI_ERROR 구조체 변수의 주소가 지정된다.

flagCCI_PREPARE_UPDATABLE 또는 CCI_PREPARE_INCLUDE_OID가 설정될 수 있다. flagCCI_PREPARE_UPDATABLE이 설정되면 갱신 가능한 결과 셋(updatable resultset)을 만들 수 있으며, 이 경우 CCI_PREPARE_INCLUDE_OID는 자동 설정된다.

CCI_PREPARE_UPDATABLE이 설정되더라도 모든 질의에 대해 갱신 가능한 결과를 만들 수 있는 것은 아니므로 SQL 문을 prepare한 후 cci_is_updatable 함수를 이용하여 갱신 가능한 결과를 만들 수 있는 질의인지 확인해야 한다. 결과 셋을 갱신하려면 cci_oid_put 함수 또는 cci_oid_put2 함수를 사용할 수 있다

갱신 가능한 질의의 조건은 다음과 같다.

  • SELECT 질의여야 한다.
  • 질의 결과에 OID가 포함될 수 있는 질의여야 한다.
  • 갱신하고자 하는 칼럼이 FROM 절에 명시한 테이블에 속한 칼럼이어야 한다.
구문

int cci_prepare(int conn_handle, char *sql_stmt, char flag,T_CCI_ERROR *err_buf)

  • conn_handle : (IN) 연결 핸들
  • sql_stmt : (IN) SQL 문
  • flag : (IN) prepare flag (CCI_PREPARE_UPDATABLE 또는 CCI_PREPARE_INCLUDE_OID)
  • err_buf  : (OUT) 데이터베이스 에러 버퍼
리턴 값
  • 성공 : 요청 핸들 ID (int)
  • 실패 : 에러 코드
에러 코드
  • CCI_ER_CON_HANDLE
  • CCI_ER_DBMS
  • CCI_ER_COMMUNICATION
  • CCI_ER_STR_PARAM
  • CCI_ER_NO_MORE_MEMORY
  • CCI_ER_CONNECT
  • CCI_ER_QUERY_TIMEOUT
  • CCI_ER_LOGIN_TIMEOUT