细化解析:有关 SQL语法的一些实用建议

来源:岁月联盟 编辑:zhuzhu 时间:2007-10-16

Microsoft® SQL Server™ 2000 Transact-SQL 版遵从 Entry 级 SQL-92标准,并支持 Intermediate 级和 Full 级标准中的很多附加功能。

开发 OLE DB 和 ODBC 应用程序接口 (API) 时的设想是:

◆每当 SQL-92 语法提供应用程序所需功能时,应用程序都使用该语法。鉴于现在大多数数据库 SQL 语言都遵从 SQL-92 的 Entry 级标准,并支持 SQL-92 的 Intermediate 级和 Full 级标准中的很多功能,这意味着很多 OLE DB 提供程序和 ODBC 驱动程序只需直接传递大多数 SQL-92 语法即可,而不用将语法转换成数据库接受的形式。

◆每当 SQL-92 的 ODBC 扩展提供应用程序需要但 SQL-92 不支持的功能时,应用程序都使用该扩展。

◆每当数据库引擎的本机 SQL 语法提供应用程序需要但 SQL-92 和 ODBC 扩展不支持的功能时,应用程序都使用该语法。

这种方法使 OLE DB 提供程序和 ODBC 驱动程序的开销减到最小。提供程序和驱动程序只需分析 ODBC 转义序列的外来 SQL 语句或数据库不接受的 SQL-92 语法。任何 ODBC 转义序列和不支持的 SQL-92 语法都转换成数据库引擎接受的相应的 SQL 语法。所有其它的 SQL 语法直接传递给数据库引擎。

SQL Server 2000 应用程序在使用 OLE DB、ODBC 或其它封装两者的 API 时,应遵循下面的准则:

◆每当 SQL-92 语法提供应用程序所需的功能时都使用该语法。

◆每当 ODBC 转义序列提供应用程序需要但 SQL-92 不支持的功能时,都使用该序列。

◆每当 Transact-SQL 语法提供应用程序需要但 SQL-92 或 ODBC 转义序列不支持的功能时,都使用该语法。 (责任编辑:卢兆林)