Es compromiso de IBM entregar características SQL trascendentes para los clientes de todo tipo de plataformas y hacerlo de una forma común, portátil y de acuerdo a los estándares ANSI/ISO SQL. Es posible que una característica en particular no se encuentre disponible en todos los productos DB2 en la misma fecha. En algunos casos, esto se debe a que los distintos productos DB2 se lanzan en base a cronogramas levemente diferentes. En otros, se debe a que los requisitos de los clientes podrían acelerar el desarrollo de cierta característica SQL en un producto DB2 específico.
Varios clientes de base de datos IBM y proveedores de software independientes han expresado su interés en escribir aplicaciones portátiles sobre plataformas múltiples. Otros prefieren desarrollar usando, por ejemplo, DB2 para Windows, y luego implantar la aplicación en DB2 para z/OS. Estos desarrolladores de aplicaciones han solicitado una lista de las capacidades de lenguaje SQL más comunes que pueda utilizarse a modo de referencia rápida.
Esta versión resumida de las características SQL comunes tiene el objeto de servir como referencia rápida. En ella se incluyen las características y funciones de uso frecuente en las distintas plataformas. Para obtener información más detallada, consulte SQL Reference for Cross-Platform Development[Referencia SQL para el desarrollo multiplataforma] (PDF de 9.1 MB) y los respectivos libros de Referencia SQL del producto DB2.
Lea la sección Exención de responsabilidadantes de usar las tablas.
- DB2 Versión 9.5 para Linux, UNIX y Windows
- DB2 Versión 9.1 para z/OS
- DB2 Versión 6.1 para IBM i
- Elementos básicos
- Tipos de datos
- Registros especiales
- Predicados
- Funciones de columnas
- Funciones escalares
- Consultas
- Instrucciones básicas
- Instrucciones de cambio de datos
- Operaciones de cursor
- Control de conexiones y transacciones
- Facilidades dinámicas
- Instrucciones de control
- Definición de datos
- Autorización
- Instrucciones varias
- Lenguajes host
Clave
| Y | El producto incluye soportetotal. |
| P | El producto incluye soporteparcial; lea la información del producto. |
Elementos básicos
| Elemento de lenguaje | LUW | z/OS | i | Notes |
|---|---|---|---|---|
| Identificadores ─ Comunes | Y | Y | Y | |
| Identificadores ─ Delimitados | Y | Y | Y | |
| Identificadores que soportan letras minúsculas y guiones bajos finales | Y | Y | Y | |
| Transmisión de tipos de datos ─ Implícita | Y | Y | Y | |
| Conversión automática de datos basada en página de códigos | Y | Y | Y | |
| Constantes | Y | Y | Y | |
| Especificación hex de constantes de caracteres | Y | Y | Y | |
| Valores nulos | Y | Y | Y | |
| Referencias de columnas | Y | Y | Y | |
| Referencias variables de host | Y | Y | Y | |
| Variables de indicadores | Y | Y | Y | |
| Estructuras de host | Y | Y | Y | |
| Aritmética y conversión "amigables" | Y | Y | Y | |
| Operadores aritméticos | Y | Y | Y | |
| Concatenación de cadenas | Y | Y | Y | |
| Subselección escalar como expresión | Y | Y | Y | |
| Selección total escalar como expresión | Y | Y | Y | |
| Aritmética de fecha/hora | Y | Y | Y | |
| Expresión CASE | Y | Y | Y | |
| Especificación CAST | Y | Y | Y | |
| Expresión ROW CHANGE | Y | Y | Y | |
| Referencia de secuencias (NEXT VALUE y PREVIOUS VALUE) | Y | Y | Y | |
| Especificación de clasificación OLAP (RANK, DENSE_RANK) | Y | Y | Y | |
| Especificación de numeración OLAP (ROW_NUMBER) | Y | Y | Y | |
| Área de diagnóstico | Y | Y | Y |
Tipos de datos
| Elemento de lenguaje | LUW | z/OS | i | Notes |
|---|---|---|---|---|
| SMALLINT | Y | Y | Y | |
| INTEGER | Y | Y | Y | |
| BIGINT | Y | Y | Y | |
| DECIMAL | Y | Y | Y | |
| NUMERIC | Y | Y | Y | NUMERIC se define como decimal zonal en DB2 para i y como decimal empaquetado en otras plataformas. |
| REAL | Y | Y | Y | Para lograr portabilidad multiplataforma, no use FLOAT(n). |
| DOUBLE or FLOAT | Y | Y | Y | Para lograr portabilidad multiplataforma, no use FLOAT(n). |
| DECFLOAT | Y | Y | Y | |
| CHARACTER | Y | Y | Y | |
| VARCHAR | Y | Y | Y | |
| FOR BIT DATA con CHAR o VARCHAR | Y | Y | Y | |
| CLOB | Y | Y | Y | |
| FOR SBCS o MIXED DATA con CHAR, VARCHAR o CLOB | P | Y | Y | |
| BLOB | Y | Y | Y | |
| GRAPHIC | Y | Y | Y | |
| VARGRAPHIC | Y | Y | Y | |
| DBCLOB | Y | Y | Y | |
| DATE | Y | Y | Y | |
| TIME | Y | Y | Y | |
| TIMESTAMP | Y | Y | Y | |
| Tipos diferentes definidos por el usuario | Y | Y | Y |
Registros especiales
| Elemento de lenguaje | LUW | z/OS | i | Notes |
|---|---|---|---|---|
| CURRENT CLIENT_ACCTNG | Y | Y | Y | |
| CURRENT CLIENT_APPLNAME | Y | Y | Y | |
| CURRENT CLIENT_USERID | Y | Y | Y | |
| CURRENT CLIENT_WRKSTNNAME | Y | Y | Y | |
| CURRENT DATE | Y | Y | Y | |
| CURRENT_DATE | Y | Y | Y | |
| CURRENT DECFLOAT ROUNDING MODE | Y | Y | Y | |
| CURRENT DEGREE | Y | Y | Y | |
| CURRENT PATH | Y | Y | Y | |
| CURRENT_PATH | Y | Y | Y | |
| CURRENT SCHEMA | Y | Y | Y | |
| CURRENT_SCHEMA | Y | Y | Y | |
| CURRENT SERVER | Y | Y | Y | |
| CURRENT TIME | Y | Y | Y | |
| CURRENT_TIME | Y | Y | Y | |
| CURRENT TIMESTAMP | Y | Y | Y | |
| CURRENT_TIMESTAMP | Y | Y | Y | |
| CURRENT TIMEZONE | Y | Y | Y | |
| SESSION_USER | Y | Y | Y | |
| USER | Y | Y | Y |
Predicados
| Elemento de lenguaje | LUW | z/OS | i | Notes |
|---|---|---|---|---|
| Básico ( = <> < > <= >= ), exceptuando tipos LOB | Y | Y | Y | |
| Básico con derecho a subselección escalar del operador de comparación | Y | Y | Y | |
| Cuantificado (ALL, ANY o SOME) con expresión única (sin subconsulta) a la izquierda y subselección a la derecha | Y | Y | Y | |
| BETWEEN (sin subconsultas escalares) | Y | Y | Y | |
| EXISTS (subselección) | Y | Y | Y | |
| IN seguido por una lista de expresiones | Y | Y | Y | |
| IN seguido por una subselección de columna única | Y | Y | Y | |
| IS NULL (sin subconsulta escalar) | Y | Y | Y | |
| LIKE con variable host o constante de cadena como patrón | Y | Y | Y | |
| LIKE con expresión para patrón y escape | Y | Y | Y |
Funciones de agregación
| Elemento de lenguaje | LUW | z/OS | i | Notes |
|---|---|---|---|---|
| AVG | Y | Y | Y | |
| COUNT | Y | Y | Y | |
| COUNT_BIG | Y | Y | Y | |
| MAX | Y | Y | Y | |
| MIN | Y | Y | Y | |
| STDDEV | Y | Y | Y | |
| SUM | Y | Y | Y | |
| VARIANCE o VAR | Y | Y | Y |
Funciones escalares
| Elemento de lenguaje | LUW | z/OS | i | Notes |
|---|---|---|---|---|
| ABSVAL o ABS | Y | Y | Y | |
| ACOS | Y | Y | Y | |
| ASCII | Y | Y | Y | |
| ASIN | Y | Y | Y | |
| ATAN | Y | Y | Y | |
| ATANH | Y | Y | Y | |
| ATAN2 | Y | Y | Y | |
| BIGINT | Y | Y | Y | |
| BLOB | Y | Y | Y | |
| CEIL o CEILING | Y | Y | Y | |
| CHAR (sin unidades de cadena) | Y | Y | Y | |
| CHARACTER_LENGTH o CHAR_LENGTH (sin unidades de cadena) | P | P | Y | En LUW y z/OS se requiere el argumento CODEUNITS16 para lograr una funcionalidad equivalente en la mayoría de los datos. |
| CLOB (sin unidades de cadena) | Y | Y | Y | |
| COALESCE (o VALUE) | Y | Y | Y | |
| COMPARE_DECFLOAT | Y | Y | Y | |
| CONCAT | Y | Y | Y | |
| CONTAINS | Y | Y | Y | |
| COS | Y | Y | Y | |
| COSH | Y | Y | Y | |
| DATE | Y | Y | Y | |
| DAY | Y | Y | Y | |
| DAYNAME | Y | P | Y | z/OS soporta la función como muestra en el esquema DSN8. |
| DAYOFWEEK | Y | Y | Y | |
| DAYOFWEEK_ISO | Y | Y | Y | |
| DAYOFYEAR | Y | Y | Y | |
| DAYS | Y | Y | Y | |
| DBCLOB (sin unidades de cadena) | Y | Y | Y | |
| DECFLOAT | Y | Y | Y | |
| DECIMAL o DEC | Y | Y | Y | |
| DECRYPT_BIT | P | Y | Y | LUW soporta la función con el nombre DECRYPT_BIN. |
| DECRYPT_CHAR | Y | Y | Y | |
| DEGREES | Y | Y | Y | |
| DIFFERENCE | Y | Y | Y | |
| DIGITS | Y | Y | Y | |
| DOUBLE o DOUBLE_PRECISION | Y | Y | Y | |
| ENCRYPT | Y | Y | Y | La sintaxis de la función ENCRYPT es común pero z/OS usa el formato ENCRYPT_TDES en lugar de ENCRYPT_RC2 para el resultado. |
| EXP | Y | Y | Y | |
| FLOAT | Y | Y | Y | |
| FLOOR | Y | Y | Y | |
| GENERATE_UNIQUE | Y | Y | Y | |
| GETHINT | Y | Y | Y | |
| GRAPHIC (sin unidades de cadena) | P | Y | Y | |
| HEX | Y | Y | Y | |
| HOUR | Y | Y | Y | |
| IDENTITY_VAL_LOCAL | Y | Y | Y | |
| INSERT (sin unidades de cadena) | Y | Y | Y | |
| INTEGER o INT | Y | Y | Y | |
| JULIAN_DAY | Y | Y | Y | |
| LCASE | Y | Y | Y | |
| LEFT (sin unidades de cadena) | P | Y | Y | |
| LENGTH (sin unidades de cadena) | Y | Y | Y | |
| LN | Y | Y | Y | |
| LOCATE (sin unidades de cadena) | Y | Y | Y | |
| LOG10 | Y | Y | Y | |
| LOWER | Y | Y | Y | |
| LTRIM | P | P | Y | LUW no soporta un argumento CLOB. z/OS no soporta un argumento CLOB. |
| MAX | Y | Y | Y | |
| MICROSECOND | Y | Y | Y | |
| MIDNIGHT_SECONDS | Y | Y | Y | |
| MIN | Y | Y | Y | |
| MINUTE | Y | Y | Y | |
| MOD | P | Y | Y | |
| MONTH | Y | Y | Y | |
| MONTHNAME | Y | P | Y | z/OS soporta la función como muestra en el esquema DSN8. |
| MULTIPLY_ALT | Y | Y | Y | |
| NORMALIZE_DECFLOAT | Y | Y | Y | |
| NULLIF | P | P | Y | LUW no soporta los argumentos LOB. z/OS no soporta los argumentos LOB. |
| POSITION (sin unidades de cadena) | P | P | Y | En LUW y z/OS, se requiere el argumento CODEUNITS16 para lograr una funcionalidad equivalente en la mayoría de los datos. |
| POSSTR | Y | Y | Y | |
| POWER | Y | Y | Y | |
| QUANTIZE | Y | Y | Y | |
| QUARTER | Y | Y | Y | |
| RADIANS | Y | Y | Y | |
| RAISE_ERROR | Y | Y | Y | |
| RAND | Y | Y | Y | |
| REAL | Y | Y | Y | |
| REPEAT | P | P | Y | LUW no soporta tipos gráficos. z/OS no soporta argumentos LOB. |
| REPLACE | P | P | Y | LUW no soporta tipos gráficos. z/OS no soporta argumentos LOB. |
| RID | Y | Y | Y | |
| RIGHT (sin unidades de cadena) | P | Y | Y | LUW no soporta tipos gráficos. |
| ROUND | Y | Y | Y | |
| RTRIM | P | P | Y | LUW no soporta un argumento CLOB. z/OS no soporta un argumento CLOB. |
| SCORE | Y | Y | Y | |
| SECOND | Y | Y | Y | |
| SIGN | Y | Y | Y | |
| SIN | Y | Y | Y | |
| SINH | Y | Y | Y | |
| SMALLINT | Y | Y | Y | |
| SOUNDEX | Y | Y | Y | |
| SPACE | P | Y | Y | |
| SQRT | P | Y | Y | |
| STRIP | Y | Y | Y | |
| SUBSTR | Y | Y | Y | |
| SUBSTRING (sin unidades de cadena) | P | P | Y | En LUW y z/OS, se requiere el argumento CODEUNITS16 para lograr una funcionalidad equivalente en la mayoría de los datos. |
| TAN | Y | Y | Y | |
| TANH | Y | Y | Y | |
| TIME | Y | Y | Y | |
| TIMESTAMP | Y | Y | Y | |
| TIMESTAMP_ISO | Y | Y | Y | |
| TIMESTAMP_FORMAT o TO_DATE | Y | Y | Y | |
| TIMESTAMPDIFF | Y | Y | Y | |
| TOTALORDER | Y | Y | Y | |
| TRANSLATE | Y | Y | Y | |
| TRUNCATE o TRUNC | Y | Y | Y | |
| UCASE o UPPER | Y | Y | Y | |
| VALUE | Y | Y | Y | |
| VARCHAR (sin unidades de cadena) | P | Y | Y | |
| VARCHAR_FORMAT o TO_CHAR | Y | Y | Y | |
| VARGRAPHIC (sin unidades de cadena) | Y | Y | Y | |
| WEEK | Y | Y | Y | |
| WEEK_ISO | Y | Y | Y | |
| YEAR | Y | Y | Y |
Consultas
| Elemento de lenguaje | LUW | z/OS | i | Notes |
|---|---|---|---|---|
| Cláusula SELECT | Y | Y | Y | |
| Subcláusula AS en cláusula SELECT | Y | Y | Y | |
| Calificado * o no calificado * en cláusula SELECT | Y | Y | Y | |
| Expresiones distintas a subconsulta escalar en la cláusula SELECT | Y | Y | Y | |
| Funciones agregadas permitidas en una cláusula SELECT aunque la tabla de resultados derive de una vista agrupada | Y | Y | Y | |
| Cláusula FROM haciendo referencia a una única tabla o vista | Y | Y | Y | |
| Cláusula FROM con inner join (combinación interna) implícita (referencias de tabla múltiples separadas por comas) | Y | Y | Y | |
| Cláusula FROM con expresión de tabla anidada que contenga una subselección | Y | Y | Y | |
| Cláusula FROM con expresión de tabla anidada precedida por la palabra clave TABLE | Y | Y | Y | |
| Cláusula FROM con INNER JOIN explícita | Y | Y | Y | |
| Cláusula FROM con LEFT OUTER JOIN | Y | Y | Y | |
| Cláusula FROM con RIGHT OUTER JOIN | Y | Y | Y | |
| Cláusula FROM con FULL OUTER JOIN con igualdad en la condición join | Y | Y | Y | |
| Cláusula FROM con instrucción INSERT | Y | Y | Y | |
| Cláusula WHERE | Y | Y | Y | |
| GROUP BY haciendo referencia a nombres de columna | Y | Y | Y | |
| GROUP BY haciendo referencia a expresiones de agrupamiento | Y | Y | Y | |
| Cláusula HAVING | Y | Y | Y | |
| Selección total con UNION o UNION ALL | Y | Y | Y | |
| Selección total con INTERSECT o INTERSECT ALL | Y | Y | P | DB2 para i no soporta INTERSECT ALL. |
| Selección total con EXCEPT o EXCEPT ALL | Y | Y | P | DB2 para i no soporta EXCEPT ALL. |
| Instrucción de selección que comienza con una expresión de tabla común | Y | Y | Y | |
| Instrucción de selección que usa una expresión de tabla común recursiva | Y | Y | Y | |
| Cláusula ORDER BY sobre nombres de columna calificados | Y | Y | Y | |
| Cláusula ORDER BY sobre expresiones con clave de clasificación | Y | Y | Y | |
| Cláusula ORDER BY sobre expresiones no incluidas en la lista SELECT | Y | Y | Y | |
| ORDER BY ORDER OF | Y | Y | Y | |
| Cláusula FOR UPDATE con lista de nombres de columnas | Y | Y | Y | |
| Cláusula FOR UPDATE con lista de columnas implícita | Y | Y | Y | |
| Cláusula FOR READ ONLY | Y | Y | Y | |
| Cláusula OPTIMIZE con número de filas entero | Y | Y | Y | |
| Instrucción de selección con cláusula de aislamiento con CS, RR o RS | Y | Y | Y | |
| Instrucción de selección con cláusula de aislamiento con UR en instrucción de selección de sólo lectura | Y | Y | Y | |
| Cláusula FETCH FIRST | Y | Y | Y |
Instrucciones básicas
| Elemento de lenguaje | LUW | z/OS | i | Notes |
|---|---|---|---|---|
| Instrucción CALL estática | Y | Y | Y | |
| Instrucción CALL estática con nombre variable como nombre de procedimiento | Y | Y | Y | |
| Instrucción SELECT INTO con cláusulas WHERE, GROUP BY o HAVING opcionales | Y | Y | Y | |
| Instrucción SELECT INTO con cláusula FETCH FIRST | Y | Y | Y | |
| Instrucción SELECT INTO con cláusula de aislamiento | Y | Y | Y | |
| Instrucción VALUES INTO | Y | Y | Y |
Instrucciones de cambio de datos
| Elemento de lenguaje | LUW | z/OS | i | Notes |
|---|---|---|---|---|
| Instrucción DELETE buscada | Y | Y | Y | |
| Instrucción INSERT con cláusula VALUES de fila única | Y | Y | Y | |
| Instrucción INSERT con subselección | Y | Y | Y | |
| Instrucción UPDATE buscada | Y | Y | Y |
Operaciones con cursor
| Elemento de lenguaje | LUW | z/OS | i | Notes |
|---|---|---|---|---|
| Instrucción CLOSE | Y | Y | Y | |
| Instrucción DECLARE CURSOR (ver otros elementos de cursor) | Y | Y | Y | |
| Declarar cursor con INSENSITIVE SCROLL | P | Y | Y | LUW soporta esta capacidad únicamente a través de CLI o JDBC. |
| Declarar cursor WITH HOLD | Y | Y | Y | |
| Declarar cursor WITH RETURN (retorno implícito al llamante) | Y | Y | Y | |
| Declarar cursor WITH RETURN TO CALLER | Y | Y | Y | |
| Instrucción DELETE posicionada | Y | Y | Y | |
| Instrucción FETCH sin orientación de cursor (NEXT implícito) | Y | Y | Y | |
| Instrucción FETCH con NEXT, PRIOR, FIRST, LAST, BEFORE, AFTER, CURRENT o RELATIVE | P | Y | Y | LUW soporta estas características de fetch únicamente a través de CLI o JDBC. |
| Instrucción FETCH con ABSOLUTE | P | Y | P | |
| Instrucción OPEN | Y | Y | Y | |
| Instrucción UPDATE posicionado | Y | Y | Y |
Control de conexiones y transacciones
| Elemento de lenguaje | LUW | z/OS | i | Notes |
|---|---|---|---|---|
| Especificación de nivel de aislamiento en el nivel del paquete | Y | Y | Y | |
| Especificación de nivel de aislamiento en el nivel de la instrucción | Y | Y | Y | |
| RR (SERIALIZABLE en SQL2003 Standard) | Y | Y | Y | |
| RS (REPEATABLE READ en SQL2003 Standard) | Y | Y | Y | |
| CS (READ COMMITTED en SQL2003 Standard) | Y | Y | Y | |
| UR (READ COMMITTED en SQL2003 Standard) | Y | Y | Y | |
| Cláusula de aislamiento con USE AND KEEP EXCLUSIVE LOCKS | P | P | Y | |
| Instrucción COMMIT | Y | Y | Y | |
| Instrucción CONNECT (1 sitio por transacción) | Y | Y | Y | |
| Instrucción CONNECT (más de 2 sitios por transacción) (también denominado confirmación en dos fases) | Y | Y | Y | |
| Instrucción DISCONNECT | Y | Y | Y | |
| Instrucción RELEASE para conexión | Y | Y | Y | |
| Instrucción RELEASE SAVEPOINT | Y | Y | Y | |
| Instrucción ROLLBACK de unidad de trabajo | Y | Y | Y | |
| Instrucción ROLLBACK TO SAVEPOINT | Y | Y | Y | |
| Instrucción SAVEPOINT ─ no anidada | Y | Y | Y | |
| Instrucción SAVEPOINT ─ anidada | Y | Y | Y | |
| Instrucción SET CONNECTION | Y | Y | Y |
Facilidades dinámicas
| Elemento de lenguaje | LUW | z/OS | i | Notes |
|---|---|---|---|---|
| Instrucción DESCRIBE OUTPUT sin cláusula USING | Y | Y | Y | |
| Instrucción DESCRIBE INPUT | Y | Y | Y | |
| Instrucción EXECUTE | Y | Y | Y | |
| Instrucción EXECUTE IMMEDIATE | Y | Y | Y | |
| Instrucción PREPARE | Y | Y | Y | |
| Instrucción PREPARE que especifique las opciones del cursor (cláusula ATTRIBUTES) | P | Y | Y | LUW soporta esta capacidad únicamente a través de CLI o JDBC. |
Instrucciones de control
| Elemento de lenguaje | LUW | z/OS | i | Notes |
|---|---|---|---|---|
| Instrucciones de control en procedimientos SQL | Y | Y | Y | |
| Instrucciones de control en funciones SQL | P | P | Y | El soporte parcial permite una única instrucción RETURN en las funciones SQL. |
| Instrucción de asignación | Y | Y | Y | |
| Instrucción CASE | Y | Y | Y | |
| Instrucción compuesta | Y | Y | Y | |
| Instrucción compuesta anidada, no atómica | Y | Y | Y | |
| Instrucción FOR | Y | Y | Y | |
| Instrucción GET DIAGNOSTICS para ROW_COUNT | Y | Y | Y | |
| Instrucción GET DIAGNOSTICS para RETURN_STATUS | Y | Y | Y | |
| Instrucción GET DIAGNOSTICS para MESSAGE_TEXT | Y | Y | Y | |
| Instrucción GOTO | Y | Y | Y | |
| Instrucción IF | Y | Y | Y | |
| Instrucción ITERATE | Y | Y | Y | |
| Instrucción LEAVE | Y | Y | Y | |
| Instrucción LOOP | Y | Y | Y | |
| Instrucción REPEAT | Y | Y | Y | |
| Instrucción RESIGNAL | Y | Y | Y | |
| Instrucción RETURN de procedimiento SQL | Y | Y | Y | |
| Instrucción RETURN de función SQL | Y | Y | Y | |
| Instrucción SIGNAL | Y | Y | Y | |
| Instrucción WHILE | Y | Y | Y |
Definición de datos
| Elemento de lenguaje | LUW | z/OS | i | Notes |
|---|---|---|---|---|
| Admitir instrucciones DDL en programas SQL | Y | Y | Y | |
| Soporte de semántica de transacciones para DDL | Y | Y | Y | |
| Soporte de nombres de objetos de 18 bytes, exceptuando nombres de esquema | Y | Y | Y | Algunas plataformas soportan nombres de objetos más extensos. |
| Soporte de nombres de esquema de 10 bytes | Y | Y | Y | Algunas plataformas soportan nombres de esquemas más extensos. |
| Instrucción ALTER FUNCTION | P | P | Y | |
| Instrucción ALTER PROCEDURE | P | Y | Y | |
| Instrucción ALTER SEQUENCE | Y | Y | Y | |
| Instrucción ALTER TABLE (ver otros elementos marcados como ALTAB) | Y | P | Y | z/OS no permite especificar la misma cláusula más de una vez. |
| ALTER COLUMN (ALTAB) | P | P | Y | |
| Instrucción COMMENT | Y | Y | Y | |
| Instrucción CREATE ALIAS | Y | Y | Y | |
| Instrucción CREATE DISTINCT TYPE | Y | Y | Y | |
| Instrucción CREATE FUNCTION (escalar externo) | Y | Y | Y | |
| Instrucción CREATE FUNCTION (obtenida) | Y | Y | Y | |
| Instrucción CREATE FUNCTION (escalar SQL) | P | P | Y | Cada plataforma no soporta todas las características de la instrucción. |
| Instrucción CREATE FUNCTION (tabla externa) | Y | Y | Y | |
| CREATE INDEX sobre lista de columnas | Y | Y | Y | |
| CREATE UNIQUE INDEX sobre lista de columnas | Y | Y | Y | |
| Instrucción CREATE PROCEDURE para procedimiento externo | Y | Y | Y | |
| Instrucción CREATE PROCEDURE para procedimiento SQL | Y | Y | Y | |
| CREATE SCHEMA | Y | P | Y | z/OS requiere que la instrucción se procese mediante un procesador de esquemas especial. |
| Instrucción CREATE TABLE usando una definición de columna (ver otros elementos marcados como CRTAB) | Y | Y | Y | |
| Instrucción CREATE TABLE LIKE (crear tabla como) otra tabla/vista (ver otros elementos marcados como CRTAB) | Y | Y | Y | |
| Instrucción CREATE TABLE LIKE (crear tabla igual que) otra tabla/vista que incluya la identidad (ver otros elementos marcados como CRTAB) | Y | Y | Y | |
| Instrucción CREATE TABLE AS (crear tabla como) consulta (ver otros elementos marcados como CRTAB) | Y | Y | Y | |
| Cláusula de restricción CHECK (ALTAB, CRTAB) | Y | Y | Y | |
| Cláusula DATA CAPTURE (ALTAB, CRTAB) | Y | Y | P | Las tablas en DB2 para i siempre capturan los cambios, por consiguiente, la cláusula se ignora. |
| Cláusula DEFAULT sin valor especificado (ALTAB, CRTAB, DGTTAB) | Y | Y | Y | |
| Cláusula DEFAULT con valor especificado (ALTAB, CRTAB, DGTTAB) | Y | Y | Y | |
| Cláusula IMPLICITLY HIDDEN (ALTAB, CRTAB) | Y | Y | Y | |
| Cláusula VOLATILE (ALTAB, CRTAB) | Y | Y | Y | |
| Cláusula IDENTITY (ALTAB, CRTAB, DGTTAB) | Y | Y | Y | |
| Cláusula ROW CHANGE TIMESTAMP (ALTAB, CRTAB) | Y | Y | Y | |
| Cláusula de restricción PRIMARY KEY (ALTAB, CRTAB) | Y | Y | Y | |
| Cláusula de restricción UNIQUE (ALTAB, CRTAB) | Y | Y | Y | |
| Generación de índices automática para restricciones únicas (ALTAB, CRTAB) | Y | Y | Y | |
| Cláusula de restricciones referenciales (ALTAB, CRTAB) | Y | Y | Y | |
| Cláusula REFERENCES especificando ON DELETE (ALTAB, CRTAB) | P | P | Y | LUW no soporta ON DELETE SET DEFAULT. z/OS no soporta ON DELETE SET DEFAULT. |
| Es posible especificar tablas autorreferenciales sin usar ALTER TABLE | Y | P | Y | |
| MQT mantenido por el usuario (CRTAB, ALTAB) | Y | Y | Y | |
| Instrucción CREATE SEQUENCE | Y | Y | Y | |
| Instrucción CREATE TRIGGER – Disparadores BEFORE o AFTER en una tabla | Y | Y | Y | |
| Instrucción CREATE TRIGGER – Disparador INSTEAD OF en una vista | Y | P | Y | |
| Instrucción CREATE VIEW con subselección sin cláusula CHECK OPTION | Y | Y | Y | |
| CREATE VIEW WITH CASCADED CHECK OPTION | Y | Y | Y | |
| CREATE VIEW WITH LOCAL CHECK OPTION | Y | Y | Y | |
| Instrucción DECLARE GLOBAL TEMPORARY TABLE (ver otros elementos marcados como DGTTAB) | P | Y | Y | |
| Instrucción DROP con comportamiento CASCADE o RESTRICT especificado | P | P | Y | |
| Instrucción DROP ALIAS | Y | Y | Y | |
| Instrucción DROP DISTINCT TYPE | Y | Y | Y | |
| Instrucción DROP FUNCTION | Y | Y | Y | |
| Instrucción DROP INDEX | Y | Y | Y | |
| Instrucción DROP PACKAGE | Y | Y | Y | |
| Instrucción DROP PROCEDURE | Y | P | Y | |
| Instrucción DROP SEQUENCE | Y | Y | Y | |
| Instrucción DROP TABLE | Y | Y | Y | |
| Instrucción DROP TRIGGER | Y | Y | Y | |
| Instrucción DROP VIEW | Y | Y | Y | |
| Instrucción RENAME TABLE | P | P | Y |
Autorización
| Elemento de lenguaje | LUW | z/OS | i | Notes |
|---|---|---|---|---|
| Función GRANT o instrucción de privilegios de procedimientos | Y | Y | Y | |
| Instrucción GRANT Privilegios de Paquete sin cláusula WITH GRANT OPTION | Y | Y | Y | |
| Instrucción GRANT Privilegios de Paquete con cláusula WITH GRANT OPTION | Y | Y | Y | |
| Instrucción GRANT Privilegios de Secuencia | Y | Y | Y | |
| Instrucción GRANT Privilegios de Tabla | Y | Y | Y | |
| Instrucción REVOKE Privilegios de Función | Y | Y | Y | |
| Instrucción REVOKE Privilegios de Procedimiento | Y | P | Y | |
| Instrucción REVOKE Privilegios de Paquete | Y | Y | Y | |
| Instrucción REVOKE Privilegios de Secuencia | Y | Y | Y | |
| Instrucción REVOKE Privilegios de Tabla | Y | Y | Y |
Instrucciones varias
| Elemento de lenguaje | LUW | z/OS | i | Notes |
|---|---|---|---|---|
| Instrucción BEGIN y END DECLARE SECTION | Y | Y | Y | |
| Instrucción DECLARE STATEMENT | P | Y | Y | LUW soporta la instrucción únicamente en los procedimientos almacenados en SQL. |
| Instrucción FREE LOCATOR | Y | Y | Y | |
| Instrucción INCLUDE | Y | Y | Y | |
| Instrucción LOCK TABLE | Y | Y | Y | |
| Instrucción REFRESH TABLE | Y | Y | Y | |
| Instrucción SET CURRENT DECFLOAT ROUNDING MODE | Y | Y | Y | |
| Instrucción SET CURRENT DEGREE | P | Y | Y | |
| Instrucción SET ENCRYPTION PASSWORD | Y | Y | Y | |
| Instrucción SET PATH | Y | Y | Y | |
| Instrucción SET SCHEMA | Y | Y | Y | |
| Instrucción WHENEVER | Y | Y | Y |
Lenguajes de host
| Elemento de lenguaje | LUW | z/OS | i | Notes |
|---|---|---|---|---|
| C o C++ | Y | Y | Y | |
| COBOL | Y | Y | Y | |
| FORTRAN | Y | Y | Y | |
| Java (SQLJ) | Y | Y | Y | |
| PL/I | Y | Y | Y | |
| REXX | Y | Y | Y |
Esta lista puede no ser exhaustiva. La selección de las características incluidas se basó en los intereses más comunes de los clientes. Encuentre más características de uso frecuente consultando los libros de referencia del lenguaje SQL que acompañan a nuestros productos.
Esta lista de ningún modo constituye una lista de características y funciones de un producto DB2 en particular. Es posible que una característica que aparezca en una plataforma se encuentre en proceso de puesta en marcha en otras plataformas DB2 debido a que nos encontramos lanzando nuevas funcionalidades continuamente. Por las diferencias entre clientes y mercados, no todas las plataformas requieren que las mismas características se proporcionen al mismo tiempo.