SQL-92
<templatestyles src="Module:Hatnote/styles.css"></templatestyles>
SQL-92 was the third revision of the SQL database query language. Unlike SQL-89, it was a major revision of the standard. For all but a few minor incompatibilities, the SQL-89 standard is forward compatible with SQL-92.
The standard specification itself grew about five times compared to SQL-89. Much of it was due more precise specifications of existing features; the increase due to new features was only by a factor of 1.5–2. Many of the new features had already been implemented by vendors before the new standard was adopted.[1] However, most of the new features were added to the "intermediate" and "full" tiers of the specification, meaning that conformance with SQL-92 entry level was scarcely any more demanding than conformance with SQL-89.
Later revisions of the standard include SQL:1999 (SQL3), SQL:2003, SQL:2008, and SQL:2011.
New features
Significant new features include:[2]
- New data types defined:
DATE
,TIME
,TIMESTAMP
,INTERVAL
,BIT
string,VARCHAR
strings, andNATIONAL CHARACTER
strings. - Support for additional character sets beyond the base requirement for representing SQL statements.
- New scalar operations such as string concatenation and substring extraction, date and time mathematics, and conditional statements.
- New set operations such as
UNION JOIN
,NATURAL JOIN
, set differences, and set intersections. - Conditional expressions with
CASE
. For an example, see Case (SQL). - Support for alterations of schema definitions via
ALTER
andDROP
. - Bindings for C, Ada, and MUMPS.
- New features for user privileges.
- New integrity-checking functionality such as within a
CHECK
constraint. - A new information schema—read-only views about database metadata like what tables it contains, etc. For example,
SELECT * FROM INFORMATION_SCHEMA.TABLES;
. - Dynamic execution of queries (as opposed to prepared).
- Better support for remote database access.
- Temporary tables;
CREATE TEMP TABLE
etc. - Transaction isolation levels.
- New operations for changing data types on the fly via
CAST (expr AS type)
. - Scrolled cursors.
- Compatibility flagging for backwards and forwards compatibility with other SQL standards.
Extensions
Two significant extensions were published after standard (but before the next major iteration.)
- SQL/CLI (Call Level Interface) in 1995
- SQL/PSM (stored procedures) in 1996
References
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ C. J. Date with Hugh Darwen: A Guide to the SQL standard : a users guide to the standard database language SQL, 4th ed., Addison Wesley, USA 1997, ISBN 978-0-201-96426-4
External links
- The SQL-92 standard
- BNF Grammar for ISO/IEC 9075:1992 - Database Language SQL (SQL-92)
- Presentation of SQL:1999; covers history and features of SQL-92 as well.