ODBC アプリケーションでは、Transact-SQL ステートメントを実行することで、ほぼすべてのデータベース アクセスを行います。 これらのステートメントの形式は、アプリケーションの要件によって異なります。 SQL ステートメントは、次の方法で構築できます。
ハードコーディング
アプリケーションで固定タスクとして実行される静的ステートメントです。
実行時に構築
実行時に構築される SQL ステートメントで、これによりユーザーは SELECT、WHERE、ORDER BY などの一般的な句を使用してステートメントを調整できます。 これには、ユーザーが入力したアドホック クエリも含まれます。
SQL Server Client ODBC ドライバーは、データベース エンジンで直接サポートされない ODBC 構文や ISO 構文の SQL ステートメントのみを解析し、このようなステートメントを Transact-SQL に変換します。 その他すべての SQL 構文は、変更されずにデータベース エンジンに渡されます。ここでは、SQL Server が有効な SQL Server かどうかが判断されます。 この方法には、次の 2 つの利点があります。
オーバーヘッドの軽減
ドライバーの処理オーバーヘッドが最小限に抑えられます。これは、スキャンする必要のある ODBC 句および ISO 句の数が少ないためです。
柔軟性
プログラマは、アプリケーションの移植性を調整できます。 複数のデータベースに対する移植性を強化するには、主に ODBC 構文および ISO 構文を使用します。 SQL Server 固有の強力な機能を使用するには、対応する Transact-SQL 構文を使用します。 SQL Server Native Client ODBC ドライバーは、ODBC ベースのアプリケーションで SQL Server のすべての機能を利用できるように、Transact-SQL 構文を完全にサポートしています。
SELECT ステートメント内の列リストには、現在のタスクを実行するのに必要な列だけを含める必要があります。 これにより、ネットワーク経由で送信されるデータ量が少なくなるだけでなく、アプリケーションに対するデータベース変更の影響も少なくなります。 アプリケーションでテーブルの列を参照していなければ、アプリケーションは、その列に行われる変更の影響を受けません。