构造 SQL 语句 (ODBC)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure 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有效。 这种方法具有两个好处:

  • 减少开销

    由于驱动程序只需扫描较少的 ODBC 和 ISO 子句,因而最大程度地减少了其处理开销。

  • 灵活性

    程序员可以调整其应用程序的可移植性。 若要增强针对多个数据库的可移植性,可优先使用 ODBC 和 ISO 语法。 若要使用特定于SQL Server的增强功能,请使用适当的 Transact-SQL 语法。 SQL Server Native Client ODBC 驱动程序支持完整的 Transact-SQL 语法,因此基于 ODBC 的应用程序可以利用 SQL Server 中的所有功能。

SELECT 语句中的列列表应当只包含执行当前任务所需的列。 这样做不仅可减少通过网络发送的数据量,还可降低数据库更改对应用程序的影响。 如果应用程序未引用表中的列,则应用程序不受对该列所做任何更改的影响。

另请参阅

执行查询 (ODBC)