콘텐츠로 이동

SQLFetchScroll

SQLFetchScroll#

결과 집합에서 커서를 원하는 방향으로 진행시키고 바인드된 열을 가져온다. 결과 집합은 절대위치 또는 상대위치로 변경 가능하다.

구문#

SQLRETURN SQLFetchScroll(SQLHSTMT    stmt,
                         SQLSMALLINT fOrient,
                         SQLINTEGER  fOffset)

인자#

자료유형 인자 사용 설명
SQLHSTMT stmt 입력 명령문 핸들
SQLSMALLINT fOrient 입력 Type of fetch은 다음과 같다.
SQL_FETCH_NEXT
SQL_FETCH_PRIOR
SQL_FETCH_FIRST
SQL_FETCH_LAST
SQL_FETCH_ABSOLUTE
SQL_FETCH_RELATIVE
SQL_FETCH_BOOKMARK
위의 값을 가지고 Scroll 방향을 결정한다.
SQLINTEGER fOffset 입력 Fetch할 행의 개수

결괏값#

SQL_SUCCESS
SQL_SUCCESS_WITH_INFO
SQL_INVALID_HANDLE
SQL_ERROR 
SQL_NO_DATA

설명#

SQLFetchScroll은 결과 집합으로부터 원하는 Row set을 리턴한다. 이 Row set은 절대위치, 상대적인 위치, 또는 북마크로 주어질 수 있다. 다만 SQL_CURSOR_FORWARD_ONLY일때에는 SQL_FETCH_NEXT만 사용가능하다.

Cursor의 위치는 다음과 같이 지정할 수 있다.

SQL_FETCH_NEXT

현재의 Cursor를 기준으로 다음 Row set을 반환한다. 즉 다음의 Cursor위치로 이동한다. 이때는 위치 이동값인 fOffset을 무시한다.

SQL_FETCH_PRIOR

현재의 Cursor를 기준으로 이전 Rowset을 반환한다. 즉 이전의 Cursor위치로 이동한다. 이때는 위치 이동값인 fOffset을 무시한다.

SQL_FETCH_RELATIVE

현재 Rowset의 위치에서 시작하여 상대적으로 fOffset만큼 Cursor를 이동하여 Rowset을 반환한다. fOffset은 이동값이 된다.

SQL_FETCH_ABSOLUTE

현재의 위치와 상관없이 특정위치 즉 , fOffset번째의 Rowset을 반환한다.

SQL_FETCH_FIRST

첫번째 Rowset을 반환한다.

SQL_FETCH_LAST

마지막 rowset을 반환한다.

SQL_FETCH_BOOKMARK

SQL_ATTR_FETCH_BOOKMARK_PTR 명령문 속성으로 지정한 북마크에서 fOffset만큼 커서를 이동하여 행집합을 반환한다.

진 단#

SQLSTATE 설명 부연설명
01004 자료가 잘림 반환될 값의 크기가 주어진 버퍼의 크기보다 큼
08S01 통신 회선 장애 (데이터 송수신 실패) Altibase CLI 드라이버와 DB간에 함수 처리가 완료되기 전에 통신 회선 실패
HY000 일반 오류

오류처리#

오류나 경고등의 처리는 각 행에 대하여 개별적으로나 또는 모든 함수에 적용할 수 있다.

만일 임의의 경고가 모든 함수에 적용된다면 SQLFetchScroll()은 SQL_SUCCESS_WITH_INFO와 적절한 SQLSTATE를 반환한다. 함수에 적용되는 경고 상태 레코드들은 상태 레코드들이 행들에 개별적으로 적용되기 전에 반환된다.

관련 함수#

SQLFetch

예제#

SQLFetchScroll(stmt , SQL_FETCH_RELATIVE, 10);