cci_execute
설명
prepare된 SQL 문과 바인드된
데이터에 의해서
질의를 수행한다. max_col_size는 SELECT 문에 대해 fetch될 때
컬럼의 최대
크기를 지정한다. 컬럼이 CHAR, VARCHAR, NCHAR, VARNCHAR, BIT, VARBIT일 경우 클라이언트(client)로 전송되는 컬럼의
크기이다. max_col_size가 0일 경우
전체 데이터를
받는다.
prepare 시
사용된 SQL 문이 여러
개의 쿼리로 구성되어
있을 경우 CCI_EXEC_QUERY_ALL flag가
설정되어 있는
경우 전체
질의를 모두
실행하고 flag가 설정되어
있지 않은
경우 첫
번째 질의만 실행한다.
CCI_EXEC_QUERY_ALL flag가 설정되어
있는 경우 :
-
리턴 값은 첫 번째 질의에
대한 결과이다.
-
질의 중 하나에서
에러가 발생할
경우 execute는 실패한
것으로 처리된다.
-
q1; q2; q3와
같이 구성된
질의에 대해서 q1을 성공하고 q2에서 에러가
난 경우 q1의 수행 결과는 유효하다. 즉,
에러가 발생했을 때 이전에 성공한
질의 수행에
대해서 롤백하지
않는다.
-
질의가 성공적으로 수행된
경우 두
번째 질의에
대한 결과는 cci_next_result를 통해서 얻을
수 있다.
구문
int
cci_execute(int req_handle, char flag, int max_col_size, T_CCI_ERROR *err_buf)
- req_handle : (IN)
prepare된 SQL 문의 요청 핸들
- flag : (IN)
exec flag
- CCI_EXEC_ASYNC : async query
- CCI_EXEC_QUERY_ALL
- max_col_size : (IN) fetch되는 컬럼의
크기
- err_buf : (OUT)
데이터베이스 에러 버퍼
리턴 값
- 성공 :
- SELECT
(sync mode) : 결과 개수, (async mode) : 0
- INSERT, UPDATE : 반영된 튜플 개수
- 기타 : 0
- 실패 : 에러 코드