複製鏈接
請複製以下鏈接發送給好友

SQL92

鎖定
SQL92,是數據庫的一個ANSI/ISO標準。它定義了一種語言(SQL)以及數據庫的行為(事務、隔離級別等)。
中文名
SQL92
屬    性
數據庫的一個ANSI/ISO標準
作    用
定義了一種語言以及數據庫的行為
應用學科
數據庫

目錄

SQL92內容簡介

SQL92是數據庫的一個ANSI/ISO標準
這個標準的前身是SQL92 ANSI/ISO標準,而SQL92之前還有一個SQL89 ANSI/ISO標準。
它定義了一種語言(SQL)以及數據庫的行為(事務、隔離級別等)。許多商業數據庫至少在某種程度上是符合SQL92的。不過,這對於查詢和應用的可移植性沒有多大的意義。

SQL92標準

入門級(Entry level)
這是大多數開發商符合的級別。這一級只是對前一個標準SQL89稍做修改。所有數據庫開發商都不會有更高的級別,實際上,美國國家標準和技術協會NIST(National Institute of Standards and Technology,這是一家專門檢驗SQL合規性的機構)除了驗證入門級外,甚至不做其他的驗證。Oracle 7.0於1993年通過了NIST的SQL92入門級合規性驗證。如果一個數據庫符合入門級,它的特性集則是Oracle 7.0的一個功能子集。
過渡級
這一級在特性集方面大致介於入門級和中間級之間。
中間級
這一級增加了許多特性,包括(以下所列並不完整):
級聯DELETE以保證引用完整性
DATE和TIME數據類型
CASE表達式
數據類型之間的CAST函數
完備級
增加了以下特性(同樣,這個列表也不完整):
連接管理
BIT串數據類型
可延遲的完整性約束
FROM子句中的導出表
CHECK子句中的子查詢
臨時表
入門級標準不包括諸如外聯結(outer join)、新的內聯結(inner join)語法等特性。過渡級則指定了外聯結語法和內聯結語法。中間級增加了更多的特性,當然,完備級就是SQL92全部。有關SQL92的大多數書都沒有區別這些級別,這就會帶來混淆。這些書只是説明了一個完整實現SQL92的理論數據庫會是什麼樣子。所以無論你拿起哪一本書,都無法將書中所學直接應用到任何SQL92數據庫上。關鍵是,SQL92最多隻達到入門級,如果你使用了中間級或更高級裏的特性,就存在無法“移植”應用的風險。