SQL-92

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

<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, and NATIONAL 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 and DROP.
  • 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.)

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. 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