Share via


SQLBulkOperations로 데이터 업데이트

애플리케이션은 SQLBulkOperations를 호출 하여 데이터 원본의 기본 테이블에서 대량 업데이트, 삭제, 가져오기 또는 삽입 작업을 수행할 수 있습니다. SQLBulkOperations를 호출하는 것은 SQL 문을 생성하고 실행하는 편리한 대안입니다. 데이터 원본이 배치된 SQL 문을 지원하지 않는 경우에도 ODBC 드라이버에서 위치 업데이트를 지원할 수 있습니다. 함수 호출을 통해 완전한 데이터베이스 액세스를 달성하는 패러다임의 일부입니다.

SQLBulkOperations는 현재 행 집합에서 작동하며 SQLFetch 또는 SQLFetchScroll을 호출한 후에만 사용할 수 있습니다. 애플리케이션은 책갈피를 캐싱하여 업데이트, 삭제 또는 새로 고칠 행을 지정합니다. 드라이버는 업데이트할 행의 새 데이터 또는 행 집합 버퍼에서 기본 테이블에 삽입할 새 데이터를 검색합니다.

SQLBulkOperations에서 사용할 행 집합 크기는 특성 인수가 SQL_ATTR_ROW_ARRAY_SIZE SQLSetStmtAttr 호출에 의해 설정됩니다. SQLFetch 또는 SQLFetchScroll 호출 후에만 새 행 집합 크기를 사용하는 SQLSetPos와 달리 SQLBulkOperations는 SQLSetStmtAttr 호출 후 새 행 집합 크기를 사용합니다.

관계형 데이터베이스와의 대부분의 상호 작용은 SQL 을 통해 수행되므로 SQLBulkOperations 는 널리 지원되지 않습니다. 그러나 드라이버는 UPDATE, DELETE 또는 INSERT 문을 생성하고 실행하여 쉽게 에뮬레이트할 수 있습니다.

SQLBulkOperation에서 지원하는 작업을 확인하기 위해 애플리케이션은 커서 유형에 따라 SQL_DYNAMIC_CURSOR_ATTRIBUTES1, SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1, SQL_KEYSET_CURSOR_ATTRIBUTES1 또는 SQL_STATIC_CURSOR_ATTRIBUTES1 정보 옵션을 사용하여 SQLGetInfo를 호출합니다.

이 섹션에서는 다음 항목을 다룹니다.