SQL ステートメントの構築 (ODBC)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

ODBC アプリケーションは、Transact-SQL ステートメントを実行することで、ほぼすべてのデータベース アクセスを実行します。 これらのステートメントの形式は、アプリケーションの要件によって異なります。 SQL ステートメントは、次の方法で構築できます。

  • ハードコーディング

    アプリケーションで固定タスクとして実行される静的ステートメントです。

  • 実行時に構築

    実行時に構築される SQL ステートメントで、これによりユーザーは SELECT、WHERE、ORDER BY などの一般的な句を使用してステートメントを調整できます。 これには、ユーザーが入力したアドホック クエリも含まれます。

SQL Server クライアント 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 ドライバーでは、完全な Transact-SQL 構文がサポートされているため、ODBC ベースのアプリケーションでは、SQL Serverのすべての機能を利用できます。

SELECT ステートメント内の列リストには、現在のタスクを実行するのに必要な列だけを含める必要があります。 これにより、ネットワーク経由で送信されるデータ量が少なくなるだけでなく、アプリケーションに対するデータベース変更の影響も少なくなります。 アプリケーションでテーブルの列を参照していなければ、アプリケーションは、その列に行われる変更の影響を受けません。

参照

クエリの実行 (ODBC)