次の方法で共有


ステートメントのバッチ

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Transact-SQL ステートメントのバッチには、セミコロン (;)、 SQLExecDirect または SQLPrepare 関数に渡される 1 つの文字列に組み込まれたセミコロン (;)) で区切られた 2 つ以上のステートメントが含まれています。 次に例を示します。

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

バッチでは、通常、ネットワーク トラフィックが削減されるので、複数のステートメントを個別に送信するよりも効率的になる可能性があります。 SQLMoreResults を使用して、現在の結果セットが終了したときに次の結果セットに配置されるようにします。

行セットのサイズが 1 になっている、順方向専用かつ読み取り専用のカーソルの既定値に ODBC カーソル属性が設定されている場合は、常にバッチを使用できます。

SQL Server に対してサーバー カーソルを使用しているときにバッチが実行された場合、サーバー カーソルは暗黙的に既定の結果セットに変換されます。 SQLExecDirect または SQLExecute はSQL_SUCCESS_WITH_INFOを返し、 SQLGetDiagRec の呼び出しは次を返します。

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

参照

ステートメントの実行 (ODBC)