일괄 처리 지정

일괄 처리는 데이터베이스 API의 일부로 구현됩니다.

  • ADO에서 일괄 처리는 Command 개체의 CommandText 속성에 포함되어 있는 Transact-SQL 문의 문자열입니다.

    Dim Cmd As New ADODB.Command
    Set Cmd.ActiveConnection = Cn
    Cmd.CommandText = "SELECT * FROM Purchasing.Vendor; SELECT * FROM Production.Product"
    Cmd.CommandType = adCmdText
    Cmd.Execute
    
  • OLE DB에서 일괄 처리는 다음과 같은 명령 텍스트를 설정하는 데 사용되는 문자열에 포함된 Transact-SQL 문의 문자열입니다.

    WCHAR* wszSQLString =
    L"SELECT * FROM HumanResources.Employee; SELECT * FROM Production.Product";
    hr = pICommandText->SetCommandText
          (DBGUID_DBSQL, wszSQLString)
    
  • ODBC에서 일괄 처리는 SQLPrepare 또는 SQLExecDirect 호출에 포함된 Transact-SQL 문의 문자열입니다.

    SQLExecDirect(hstmt1,
       "SELECT * FROM HumanResources.Employee; SELECT * FROM Production.Product",
    SQL_NTS):
    

Microsoft Access와 같은 일부 데이터 액세스 도구에는 명시적 일괄 처리 종결자가 없습니다.

GO 명령

Microsoft SQL Server Management Studio, sqlcmd 유틸리티 및 osql 유틸리티는 GO 명령을 사용하여 일괄 처리의 끝을 표시합니다. GO는 Transact-SQL 문이 아니며 단지 일괄 처리에 포함되어야 하는 SQL 문의 수를 유틸리티에 알려 주는 기능을 수행합니다. SQL Server Management Studio 및 osql에서 GO 명령에서 다음 GO 명령까지의 모든 Transact-SQL 문은 SQLExecDirect로 보내는 문자열에 포함됩니다.

예를 들어 이러한 문이 SQL Server Management Studio 에서 실행되는 경우

SELECT @@VERSION
SET NOCOUNT ON
GO

SQL Server Management Studio 는 다음에 해당하는 작업을 실행합니다.

SQLExecDirect(hstmt,
"SELECT @@VERSION SET NOCOUNT ON",
SQL_NTS);

일괄 처리는 단일 실행 계획으로 컴파일되므로 일괄 처리는 논리적으로 완벽해야 합니다. 하나의 일괄 처리를 위해 생성된 실행 계획에서는 다른 일괄 처리에서 선언된 변수를 참조할 수 없습니다. 주석은 한 일괄 처리 내에서 시작하고 끝나야 합니다.

참고 항목

관련 자료

GO(Transact-SQL)
sqlcmd 유틸리티
osql 유틸리티

도움말 및 정보

SQL Server 2005 지원 받기