행 스크롤 및 가져오기
적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)
스크롤 가능한 커서를 사용하려면 ODBC 애플리케이션에서 다음을 수행해야 합니다.
SQLSetStmtAttr을 사용하여 커서 기능을 설정합니다.
SQLExecute 또는 SQLExecDirect를 사용하여 커서를 엽니다.
SQLFetch 또는 SQLFetchScroll을 사용하여 행을 스크롤하고 가져옵니다.
SQLFetch와 SQLFetchSroll은 모두 한 번에 행 블록을 가져올 수 있습니다. 반환되는 행 수는 SQLSetStmtAttr을 사용하여 SQL_ATTR_ROW_ARRAY_SIZE 매개 변수를 설정하여 지정됩니다.
ODBC 애플리케이션은 SQLFetch를 사용하여 앞으로 전용 커서를 가져올 수 있습니다.
SQLFetchScroll 은 커서 주위를 스크롤하는 데 사용됩니다. SQLFetchScroll은 상대 페치(현재 행 집합의 시작 부분에서 행 집합 n개 행 가져오기) 및 절대 페치(행 n에서 시작하는 행 집합 가져오기) 외에도 다음, 이전, 첫 번째 및 마지막 행 집합 가져오기를 지원합니다. n이 절대 인출에서 음수이면 결과 집합의 끝에서 행이 계산됩니다. 행 -1의 절대 인출은 결과 집합의 마지막 행으로 시작하는 행 집합을 가져오는 것을 의미합니다.
보고서와 같은 블록 커서 기능에만 SQLFetchScroll을 사용하는 애플리케이션은 다음 행 집합을 페치하는 옵션만 사용하여 결과 집합을 한 번만 통과할 수 있습니다. 반면에 화면 기반 애플리케이션은 SQLFetchScroll의 모든 기능을 활용할 수 있습니다. 애플리케이션이 행 집합 크기를 화면에 표시되는 행 수로 설정하고 화면 버퍼를 결과 집합에 바인딩하는 경우 스크롤 막대 작업을 SQLFetchScroll 호출로 직접 변환할 수 있습니다.
스크롤 막대 작업 | SQLFetchScroll 스크롤 옵션 |
---|---|
페이지 위로 | SQL_FETCH_PRIOR |
페이지 아래로 | SQL_FETCH_NEXT |
줄 위로 | FetchOffset이 -1인 SQL_FETCH_RELATIVE |
줄 아래로 | FetchOffset이 1인 SQL_FETCH_RELATIVE |
위로 스크롤 상자 | SQL_FETCH_FIRST |
스크롤 상자에서 아래쪽으로 | SQL_FETCH_LAST |
임의 스크롤 상자 위치 | SQL_FETCH_ABSOLUTE |