다음을 통해 공유


문의 일괄 처리

Transact-SQL 문의 일괄 처리에서는 세미콜론(;)으로 구분된 두 개 이상의 문을 단일 문자열에 포함하여 SQLExecDirect 또는 SQLPrepare로 전달합니다. 예를 들면 다음과 같습니다.

SQLExecDirect(hstmt, 
    "SELECT * FROM Authors; SELECT * FROM Titles",
    SQL_NTS);

일괄 처리를 사용하면 대개 네트워크 트래픽이 줄어들므로 문을 개별적으로 전송하는 것보다 효율적일 수 있습니다. 현재 결과 집합 처리 후 다음 결과 집합으로 위치를 지정하려면 SQLMoreResults를 사용합니다.

ODBC 커서 특성을 행 집합 크기가 1인 정방향 전용의 읽기 전용 커서(기본값)로 설정하면 항상 일괄 처리를 사용할 수 있습니다.

SQL Server에 대해 서버 커서를 사용할 때 일괄 처리를 실행하면 서버 커서가 암시적으로 기본 결과 집합으로 변환됩니다. SQLExecDirect 또는 SQLExecute는 SQL_SUCCESS_WITH_INFO를 반환하고 SQLGetDiagRec에 대한 호출은 다음을 반환합니다.

szSqlState = "01S02", pfNativeError = 0
szErrorMsg = "[Microsoft][SQL Server Native Server Native Client]Cursor type changed."

참고 항목

개념