SQL-92
# SQL-92

SQL-92 fue la tercera revisión del lenguaje SQL. A diferencia de SQL-89, fue una revisión importante del estándar. Aparte de algunas incompatibilidades menores, el estándar SQL-89 es compatible con SQL-92.

La especificación estándar creció aproximadamente unas cinco veces en comparación con SQL-89. Gran parte de ello se debía a especificaciones más precisas de las características existentes. El aumento debido a las nuevas características fue solo por un factor de 1,5–2. Muchas de las nuevas características ya habían sido implementadas por los vendedores antes de que se adoptase el nuevo estándar. Sin embargo, la mayoría de las nuevas características se agregaron en los niveles "intermedio" y "completo" de la especificación, lo que significa que la conformidad con el nivel de entrada SQL-92 apenas era más exigente que la conformidad con SQL-89.

Las revisiones posteriores del estándar incluyen SQL:1999 (SQL3), SQL:2003, SQL:2008, SQL:2011 y SQL:2016.

## Nuevas características

Las nuevas características significativas incluyen:

* Nuevos tipos de datos definidos: DATE, TIME, TIMESTAMP, INTERVAL, BIT string, VARCHAR strings, y NATIONAL CHARACTER strings.
* Soporte adicional codificación de caracteres más allá del requisito base para representar sentencias SQL.
* Nuevas operaciones escalares tales como concatenación de cadenas y extracción de subcadenas, matemáticas, de fecha y hora y declaraciones condicionales.
* Nuevas operaciones como UNION JOIN, NATURAL JOIN, establecer diferencias y establecer intersecciones.
* Expresiones condicionales con CASE.
* Soporte alternativo para el Lenguaje de Definición de Datos (DDL por sus siglas en inglés) a través de ALTER y DROP.
* Posibilidad de enlazar C (lenguaje de programación), Ada (lenguaje de programación) y MUMPS.
* Nueva funcionalidad para controlar los privilegios de usuario.
* Nueva funcionalidad de comprobación de la integridad, como la restricción de verificación.
* Un nuevo esquema de información de sólo lectura sobre metadatos de la base de datos como, por ejemplo, las tablas que contiene, etc. Un ejemplo de esto es SELECT * FROM INFORMATION_SCHEMA.TABLES;.
* Ejecución dinámica de sentecias (en lugar de prepararlas).
* Mejor soporte para acceso remoto.
* Tablas temporales. Por ejemplo, CREATE TEMP TABLE etc.
* Transacciones.
* Nuevas operaciones para cambiar tipos de datos en el momento indicado a través de CAST (expr AS type).
* Cursores.
* Asegura la compatibilidad hacia delante y hacia atrás con otros estándares SQL.

## Extensiones

Dos extensiones significativas se publicaron después del estándar (pero antes de la siguiente revisión importante).

* SQL/CLI en 1995
* SQL/PSM en 1996
