词条 | SQL92 |
释义 | SQL92是数据库的一个ANSI/ISO标准这个标准的前身是SQL92 ANSI/ISO标准,而SQL92之前还有一个SQL89 ANSI/ISO标准。 它定义了一种语言(SQL)以及数据库的行为(事务、隔离级别等)。你知道许多商业数据库至少在某种程度上是符合SQL92的吗?不过,这对于查询和应用的可移植性没有多大的意义,这一点你也清楚吗? SQL92标准有4个层次入门级(Entry level)。 这是大多数开发商符合的级别。这一级只是对前一个标准SQL89稍做修改。所有数据库开发商都不会有更高的级别,实际上,美国国家标准和技术协会NIST(National Institute of Standards and Technology,这是一家专门检验SQL合规性的机构)除了验证入门级外,甚至不做其他的验证。Oracle 7.0于1993年通过了NIST的SQL92入门级合规性验证,那时我也是小组中的一个成员。如果一个数据库符合入门级,它的特性集则是Oracle 7.0的一个功能子集。 过渡级 这一级在特性集方面大致介于入门级和中间级之间。 中间级 这一级增加了许多特性,包括(以下所列并不完整): 动态SQL 级联DELETE以保证引用完整性 DATE和TIME数据类型 域 变长字符串 CASE表达式 数据类型之间的CAST函数 完备级 增加了以下特性(同样,这个列表也不完整): 连接管理 BIT串数据类型 可延迟的完整性约束 FROM子句中的导出表 CHECK子句中的子查询 临时表 入门级标准不包括诸如外联结(outer join)、新的内联结(inner join)语法等特性。过渡级则指定了外联结语法和内联结语法。中间级增加了更多的特性,当然,完备级就是SQL92全部。有关SQL92的大多数书都没有区别这些级别,这就会带来混淆。这些书只是说明了一个完整实现SQL92的理论数据库会是什么样子。所以无论你拿起哪一本书,都无法将书中所学直接应用到任何SQL92数据库上。关键是,SQL92最多只达到入门级,如果你使用了中间级或更高级里的特性,就存在无法“移植”应用的风险。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。