Lotes de instruções

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)

Um lote de instruções Transact-SQL contém duas ou mais instruções, separadas por um ponto e vírgula (;), incorporadas a uma única cadeia de caracteres passada para SQLExecDirect ou FUNÇÃO SQLPrepare. Por exemplo:

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

Os lotes podem ser mais eficientes do que enviar instruções separadamente porque o tráfego de rede costuma ser reduzido. Use SQLMoreResults para se posicionar no próximo conjunto de resultados quando terminar com o conjunto de resultados atual.

Os lotes sempre podem ser usados quando os atributos de cursor ODBC são definidos como os padrões de um cursor de somente encaminhamento, somente leitura, com um tamanho do conjunto de linhas igual a 1.

Se um lote for executado ao usar cursores de servidor em SQL Server, o cursor do servidor será convertido implicitamente em um conjunto de resultados padrão. SQLExecDirect ou SQLExecute retornam SQL_SUCCESS_WITH_INFO e uma chamada para SQLGetDiagRec retorna:

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

Consulte Também

Executando instruções (ODBC)