다음을 통해 공유


커서 사용(ODBC)

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

커서를 사용하려면

  1. SQLSetStmtAttr을 호출하여 원하는 커서 특성을 설정합니다.

    SQL_ATTR_CURSOR_TYPE 및 SQL_ATTR_CONCURRENCY 특성을 설정합니다(기본 옵션).

    또는

    SQL_CURSOR_SCROLLABLE 및 SQL_CURSOR_SENSITIVITY 특성을 설정합니다.

  2. SQLSetStmtAttr를 호출하여 SQL_ATTR_ROW_ARRAY_SIZE 특성을 사용하여 행 집합 크기를 설정합니다.

  3. 필요에 따라 WHERE CURRENT OF 절을 사용하여 배치된 업데이트가 수행될 경우 SQLSetCursorName을 호출하여 커서 이름을 설정합니다.

  4. SQL 문을 실행합니다.

  5. 필요에 따라 위치가 지정된 업데이트가 WHERE CURRENT OF 절을 사용하여 수행되고 커서 이름이 3단계에서 SQLSetCursorName과 함께 제공되지 않은 경우 SQLGetCursorName을 호출하여 커서 이름을 가져옵니다.

  6. SQLNumResultCols를 호출하여 행 집합의 열 수(C)를 가져옵니다.

    열 단위 바인딩을 사용합니다.

    - 또는 -

    행 단위 바인딩을 사용합니다.

  7. 원하는 대로 커서에서 행 집합을 가져옵니다.

  8. SQLMoreResults를 호출 하여 다른 결과 집합을 사용할 수 있는지 확인합니다 .

    • SQL_SUCCESS 반환하는 경우 다른 결과 집합을 사용할 수 있습니다.

    • SQL_NO_DATA 반환하는 경우 더 이상 결과 집합을 사용할 수 없습니다.

    • SQL_SUCCESS_WITH_INFO 또는 SQL_ERROR가 반환되면 SQLGetDiagRec를 호출하여 사용할 수 있는 PRINT 또는 RAISERROR 문 출력이 있는지 확인합니다.

    출력 매개 변수 또는 저장 프로시저의 반환 값에 바인딩된 문 매개 변수를 사용하는 경우 이제 바인딩된 매개 변수 버퍼에서 사용할 수 있는 데이터를 사용합니다.

    바인딩된 매개 변수를 사용하는 경우 SQLExecute 또는 SQLExecDirect에 대한 각 호출은 SQL 문 S 시간을 실행합니다. 여기서 S는 바인딩된 매개 변수 배열의 요소 수입니다. 즉, 처리할 결과의 S 집합이 있습니다. 여기서 각 결과 집합은 SQL 문의 단일 실행에서 일반적으로 반환되는 모든 결과 집합, 출력 매개 변수 및 반환 코드로 구성됩니다.

    결과 집합에 컴퓨팅 행이 포함된 경우 각 컴퓨팅 행을 별도의 결과 집합으로 사용할 수 있습니다. 이러한 컴퓨팅 결과 집합은 일반 행 내에 섞여 일반 행을 여러 개의 결과 집합으로 나눕니다.

  9. 필요에 따라 SQL_UNBIND 사용하여 SQLFreeStmt를 호출하여 바인딩된 열 버퍼를 해제합니다.

  10. 다른 결과 집합을 사용할 수 있는 경우 6단계로 이동합니다.

    9단계에서 부분적으로 처리된 결과 집합에 대해 SQLMoreResults를 호출하면 나머지 결과 집합이 지워집니다. 부분적으로 처리된 결과 집합을 지우는 또 다른 방법은 SQLCloseCursor를 호출하는 것입니다.

    SQL_ATTR_CURSOR_TYPE 및 SQL_ATTR_CONCURRENCY 설정하거나 SQL_ATTR_CURSOR_SENSITIVITY 및 SQL_ATTR_CURSOR_SCROLLABLE 설정하여 사용되는 커서 유형을 제어할 수 있습니다. 커서 동작을 지정할 때 이 두 방법을 함께 사용하면 안 됩니다.

참고 항목

커서 사용 방법 도움말 항목(ODBC)