Cambios en SQL en los niveles de compatibilidad de aplicaciones de Db2 12
Puede utilizar esta información para planificar los cambios de SQL en los niveles de compatibilidad de las aplicaciones de Db2 12 .
deben ejecutarse con compatibilidad de aplicaciones de V12R1M500 o superior para utilizar la mayoría de estas nuevas capacidades de SQL. Para más información, consulte los niveles de APPLCOMPAT en Db2 12.
Para obtener mejores resultados, configure su entorno de desarrollo para que utilice el nivel de compatibilidad de aplicación más bajo en el que se ejecutará la aplicación en el entorno de producción. Para SQL dinámico, recuerde tener en cuenta los niveles de compatibilidad de la aplicación de los paquetes cliente y NULLID. Si desarrolla y prueba aplicaciones en un nivel de compatibilidad de aplicaciones más alto e intenta ejecutarlas en un nivel más bajo en producción, es probable que encuentre el código SQL -4743 y otros errores cuando implemente las aplicaciones en producción.
Cualquier intento de utilizar las capacidades de las siguientes tablas en un nivel de compatibilidad de aplicaciones inferior al especificado da lugar a una condición de error, como el código SQL -4743 u otros. Para más información, consulte los niveles de APPLCOMPAT en Db2 12.
Cambios en la instrucción SQL en la función Db2 12 , nivel 501 y superior
Los siguientes cambios SQL surten efecto en la función Db2 12 , nivel 501 o superior, para aplicaciones que se ejecutan en el nivel de compatibilidad de aplicaciones especificado o superior.
| Nivel de APPLCOMPAT | elemento SQL | Modificación introducida | ¿Cambio incompatible? |
|---|---|---|---|
| V12R1M509 | ALTER TABLESPACE | Se añaden las siguientes nuevas cláusulas:
|
Nee |
| V12R1M509 | CREATE TABLE | Se añaden las siguientes nuevas cláusulas:
EN ACCELERATOR ahora puede especificar un alias que represente varios aceleradores. |
Nee |
| V12R1M509 | CREATE TABLESPACE | Se añaden las siguientes nuevas cláusulas:
|
Nee |
| V12R1M509 | DELETE | Se ha eliminado una restricción con respecto a FOR PORTION OF BUSINESS_TIME si la tabla de destino es un padre en una restricción de referencia temporal. | Nee |
| V12R1M508 | ALTER TABLESPACE | Cláusula nueva: MOVE TABLE. | Nee |
| V12R1M507 | CREATE PROCEDURE (externo) | Se añaden las siguientes nuevas cláusulas:
|
Nee |
| V12R1M507 | CREAR PROCEDIMIENTO (SQL nativo) | Se añaden las siguientes nuevas cláusulas:
|
Nee |
| V12R1M506 | DROP | Cláusula modificada: TABLA. | Nee |
| V12R1M505 | ALTER TABLE | Ahora se da soporte a las siguientes cláusulas para las columnas DECFLOAT: PRIMARY KEY y UNIQUE. | Nee |
| V12R1M505 | CREATE INDEX | ahora column-name puede especificar columnas DECFLOAT. | Nee |
| V12R1M505 | CREATE TABLE | Las siguientes cláusulas ahora admiten columnas DECFLOAT: PRIMARY KEY y UNIQUE. | Nee |
| V12R1M505 | CREAR DESENCADENADOR (básico) | Cláusula modificada: CUANDO search-condition. | Nee |
| V12R1M505 | CREATE TRIGGER (avanzado) | Cláusula modificada: CUANDO search-condition. | Nee |
| V12R1M503 | ALTER TABLE | Nueva cláusula: AL BORRAR, AÑADIR FILA ADICIONAL. | Nee |
| V12R1M502 | sentencia ALTER STOGROUP | Nueva cláusula: ETIQUETA DE LLAVE. | Nee |
| V12R1M502 | ALTER TABLE | Nueva cláusula: ETIQUETA DE LLAVE. | Nee |
| V12R1M502 | CREATE STOGROUP | Nueva cláusula: ETIQUETA DE LLAVE. | Nee |
| V12R1M502 | CREATE TABLE | Nueva cláusula: ETIQUETA DE LLAVE. | Nee |
Cambios en la instrucción SQL en la función de nivel 500 de Db2 12
Los siguientes cambios de SQL entran en vigor en Db2 12 para las aplicaciones que se ejecutan en la compatibilidad de aplicación V12R1M500 o superior.
| elemento SQL | Modificación introducida | ¿Cambio incompatible? |
|---|---|---|
| ALTER FUNCTION (escalar de SQL compilada) | Cláusula nueva: CONCENTRATE STATEMENTS. | Nee |
| ALTER INDEX | Se añaden nuevas cláusulas:
Se cambian las siguientes cláusulas:
La modificación para utilizar la compresión de índices para índices en espacios de tablas universales es ahora un cambio pendiente que coloca el índice en el estado pendiente de aviso de REORG (AREOR) |
Yes |
| ALTER PROCEDURE (SQL nativo) | Cláusula nueva: CONCENTRATE STATEMENTS. | Nee |
| ALTER TABLE | Se añaden las siguientes nuevas cláusulas:
Se cambian las siguientes cláusulas:
|
Nee |
| ALTER TABLESPACE | Se añaden las siguientes nuevas cláusulas:
Se cambian las siguientes cláusulas:
|
Nee |
| Declaración ALTER TRIGGER (disparador avanzado) | Nueva sentencia. | Nee |
| ALTERAR DISPARADOR (básico) | Equivalente a ALTER TRIGGER en releases anteriores. | Nee |
| COMMENT, sentencia | Cláusula modificada: TRIGGER nombre-desencadenante VERSION -ID-versión-desencadenante. | Nee |
| CREATE FUNCTION (escalar de SQL compilada) | Se añaden las siguientes nuevas cláusulas:
|
Nee |
| FUNCIÓN CREATE (scalar SQL en línea) | Nueva cláusula: ENVUELTO. | Nee |
| CREATE FUNCTION (tabla de SQL) | Nueva cláusula: ENVUELTO. | Nee |
| CREATE INDEX | Nueva cláusula: DSSIZE. Las sentencias CREATE INDEX que omiten la cláusula USING en el nivel de espacio de tabla o índice ahora fallan con SQLCODE -204, si no existe el grupo de almacenamiento especificado cuando se creó la base de datos que la contiene. |
Yes |
| CREAR PROCEDIMIENTO (SQL nativo) | Se añaden las siguientes nuevas cláusulas:
|
Nee |
| CREATE TABLE | Se añaden las siguientes nuevas cláusulas:
Se cambian las siguientes cláusulas:
|
Nee |
| CREATE TABLESPACE | Se añaden las siguientes nuevas cláusulas:
Se cambian las siguientes cláusulas:
Las sentencias CREATE TABLESPACE que omiten la cláusula USING en el nivel de espacio de tabla o índice ahora fallan con SQLCODE -204, si no existe el grupo de almacenamiento especificado cuando se creó la base de datos que lo contiene. |
Yes |
| CREAR DESENCADENADOR (básico) | Nueva cláusula: ENVUELTO. | Nee |
| CREATE TRIGGER (avanzado) | Nueva sentencia. | Nee |
| CREATE VARIABLE | Cláusula modificada: data-type. | Nee |
| DELETE | Se añaden las siguientes nuevas cláusulas:
|
Nee |
| EXECUTE | Cláusula modificada: USO. | Nee |
| EXECUTE IMMEDIATE, sentencia | Cláusula modificada: variable. | Nee |
| EXPLAIN | Cláusula nueva: STABILIZED DYNAMIC QUERY STMTID. Cuando Db2 procesa la instrucción SQL EXPLAIN PACKAGE o EXPLAIN STABILIZED DYNAMIC QUERY, la columna HINT_USED en el PLAN_TABLE se rellena con |
Yes |
| FETCH | Cláusula nueva: target-variable. | Nee |
| selección completa | Nueva cláusula: cláusula de compensación. Se cambian las siguientes cláusulas: |
Nee |
| Declaración GRANT (privilegios de tabla o vista) | Cláusula nueva: UNLOAD. | Nee |
| Declaración GRANT (privilegios del sistema) | Nueva cláusula: BINDAGENT. | Nee |
| MERGE | Ahora la sentencia MERGE incluye la operación de supresión como parte del proceso de fusión. Se añaden las siguientes nuevas cláusulas:
Se cambian las siguientes cláusulas:
|
Nee |
| OPEN | Cláusula modificada: USO. | Nee |
| Sentencia PREPARE | Nueva cláusula: cláusula de compensación. Cláusula modificada: cláusula fetch. |
Nee |
| SELECT INTO, sentencia | Nueva cláusula: cláusula de compensación Se cambian las siguientes cláusulas:
|
Nee |
| SET asignación-declaración declaración | Cláusula modificada: DEFAULT. | Nee |
| subselección | Nueva cláusula: cláusula de compensación Se cambian las siguientes cláusulas:
|
Nee |
| Sentencia TRANSFER OWNERSHIP | Nueva sentencia. | Nee |
| Sentencia UPDATE | Cláusula nueva: cláusula BETWEEN valor-1 AND valor-2 de period-clause. | Nee |
| VALUES INTO | Se cambian las siguientes cláusulas:
|
Nee |
| declaración compuesta para rutinas SQL | Nueva cláusula: ATOMIC. Cláusula cambiada: DEFAULT o CONSTANT. |
Nee |
Para obtener más información sobre estos cambios, consulte el nivel de función 500 (instalación o migración - octubre de 2016 ).
Cambios en SQL en el nivel de función Db2 12 100
Los siguientes cambios de SQL entran en vigor en Db2 12 para las aplicaciones que se ejecutan a la compatibilidad de aplicación V12R1M100 o superior.
| elemento SQL | Modificación introducida | ¿Cambio incompatible? |
|---|---|---|
| Declaración REVOKE (privilegios de tabla o vista) | Cláusula nueva: UNLOAD. | Nee |
Para obtener más información sobre estos cambios, consulte el Nivel de función 100 (migración ).
Cambios de registro especial
Db2 12 presenta los siguientes cambios en registros especiales:
- FL 504 Nueva ortografía alternativa para ciertos registros especiales, como se muestra en la siguiente tabla.
Registro especial existente Nueva alternativa de sintaxis CURRENT CLIENT_ACCTNG CLIENT ACCTNG CURRENT CLIENT_APPLNAME CLIENT APPLNAME CURRENT CLIENT_USERID CLIENT USERID CURRENT CLIENT_WRKSTNNAME CLIENT WRKSTNNAME CURRENT SERVER CURRENT_SERVER CURRENT TIME ZONE CURRENT TIMEZONE
CURRENT_TIMEZONE
Cambios de predicado
Db2 12 presenta los siguientes cambios en los predicados de SQL:
- FL 504 Deletreos alternativos para los predicados ISNULL y NOT NULL, como se muestra en la siguiente tabla.
Predicado existente Nueva alternativa de sintaxis IS NULL ISNULL NO ES NULO NONULL - FL 500 Los predicados que implican expresiones de valores de fila pueden utilizar los siguientes operadores de comparación adicionales: <, >, <= y >=. Consulte Predicado básico para obtener más detalles.
Funciones incorporadas nuevas y modificadas
Db2 12 presenta o cambia las siguientes funciones incorporadas.
| Nivel de APPLCOMPAT | Nombre de función | Modificación introducida | ¿Cambio incompatible? |
|---|---|---|---|
| V12R1M507 | Varias | Las funciones siguientes están soportadas recientemente en Db2 for z/OS® como expresiones de sólo paso a través, que se pasan a IBM® Db2 Analytics Accelerator for z/OS. | Nee |
| V12R1M506 | Función escalar HASH | Nueva función incorporada. | Nee |
| V12R1M506 | Función escalar CHARACTER_LENGTH o CHAR_LENGTH | CHAR_LENGTH ahora está soportado como un nombre de función alternativo. | Nee |
| V12R1M506 | Función escalar CLOB o TO_CLOB | Ahora se da soporte a TO_CLOB como nombre de función alternativo. | Nee |
| V12R1M506 | Función agregada COVAR_POP o COVARIANZA o COVAR | Ahora se da soporte a COVAR_POP como un nombre de función alternativo. | Nee |
| V12R1M506 | Función escalar IZQUIERDA o STRLEFT | STRLEFT ahora está soportado como un nombre de función alternativo. | Nee |
| V12R1M506 | Función escalar POWER o POW | Ahora se da soporte a POW como un nombre de función alternativo. | Nee |
| V12R1M506 | Función escalar POSSTR o STRPOS | Ahora se da soporte a STRPOS como un nombre de función alternativo. | Nee |
| V12R1M506 | Función escalar RANDOM o RAND | Ahora se da soporte a RANDOM como nombre de función alternativo. | Nee |
| V12R1M506 | Función escalar DERECHA o DERECHA | Ahora se da soporte a STRRIGHT como un nombre de función alternativo. | Nee |
| V12R1M506 | Función escalar TIMESTAMP_FORMAT o TO_TIMESTAMP | Ahora se da soporte a TO_TIMESTAMP como nombre de función alternativo. | Nee |
| V12R1M505 | DECRYPT_DATAKEY_INTEGER, DECRYPT_DATAKEY_BIGINT, DECRYPT_DATAKEY_DECIMAL, DECRYPT_DATAKEY_VARCHAR, DECRYPT_DATAKEY_CLOB, DECRYPT_DATAKEY_VARGRAPHIC, DECRYPT_DATAKEY_DBCLOB y DECRYPT_DATAKEY_BIT | Nuevas funciones incorporadas. | Nee |
| V12R1M505 | ENCRYPT_DATAKEY | Nueva función incorporada. | Nee |
| V12R1M504 | Varias | Las funciones siguientes están soportadas recientemente en Db2 for z/OS como expresiones de sólo paso a través, que se pasan a IBM Db2 Analytics Accelerator for z/OS. | Nee |
| V12R1M502 | GRÁFICO función escalar | El primer argumento ahora acepta tipos de datos numéricos, incluidos SMALLINT, INTEGER, BIGINT, DECIMAL, REAL, DOUBLE, FLOAT y DECFLOAT. | Nee |
| V12R1M502 | función escalar VARGRAPHIC | El primer argumento acepta tipos de datos numéricos, incluidos SMALLINT, INTEGER, BIGINT, DECIMAL, REAL, DOUBLE, FLOAT y DECFLOAT. | Nee |
| V12R1M501 | función agregada LISTAGG | Nueva función incorporada. | Nee |
| V12R1M500 | Función agregada ARRAY_AGG | Función incorporada recién soportada cuando se utiliza para la agregación de matrices asociativas. | Nee |
| V12R1M500 | GENERAR_BINARIO_ÚNICO | Nueva función incorporada. | Nee |
| V12R1M500 | HASH_CRC32, HASH_MD5, HASH_SHA1 y HASH_SHA256 | Nuevas funciones incorporadas. | Nee |
| V12R1M500 | LOWER, función escalar | Ahora se pueden especificar las siguientes configuraciones regionales:
|
|
| V12R1M500 | PERCENTILE_CONT | Nueva función incorporada. | Nee |
| V12R1M500 | PERCENTILE_DISC | Nueva función incorporada. | Nee |
| V12R1M500 | Función escalar TRANSLATE | Ahora se pueden especificar las siguientes configuraciones regionales:
|
Nee |
| V12R1M500 | UPPER, función escalar | Ahora se pueden especificar las siguientes configuraciones regionales:
|
Nee |
| V12R1M500 | Función escalar WRAP | Nueva función incorporada. | Nee |
| V12R1M100 | Función de tabla BLOCKING_THREADS | Nueva función incorporada. |
Procedimientos almacenados proporcionados por Db2 nuevos y modificados
Db2 12 presenta o cambia los siguientes procedimientos almacenados proporcionados por Db2:
- El procedimiento almacenado CREATE_WRAPPED de FL 500 es nuevo
- FL 500 El procedimiento almacenado DSNUTILV es nuevo
- Procedimiento almacenado FL 500 DSNACCOX: Varios de los valores predeterminados han cambiado
- FL 100 XSR_COMPLETE El procedimiento almacenado ahora puede ejecutarse en una JVM de 64 bits
Variables globales incorporadas
Db2 12 presenta las siguientes variables globales incorporadas:
- FL 507 MAX_LOCKS_PER_TABLESPACE variable global incorporada
- FL 507 Variable global incorporada MAX_LOCKS_PER_USER
- FL 500 TEMPORAL_LOGICAL_TRANSACTION_TIME variable global incorporada
- FL 500 TEMPORAL_LOGICAL_TRANSACTIONS variable global incorporada
Nuevas palabras reservadas en Db2 12
Db2 12 presenta las siguientes palabras reservadas de SQL:
- FL 504 SERVIDOR_ACTUAL
- FL 504 ZONA_HORARIA_ACTUAL
- LÍMITE DE 500 FLORINES
- FL 500 DESVIACIÓN
Para ver la lista completa, consulte Palabras reservadas en Db2 for z/OS.