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 .

Importante : Db2 12 introduce la entrega continua de nuevas capacidades y mejoras en los niveles de función. La mayoría de las nuevas capacidades solo están disponibles después de la activación del nivel de función de Db2 12 que las introduce, o cuando las aplicaciones se ejecutan con el nivel de compatibilidad de aplicaciones correspondiente. Para más información, consulte Activación de Db2 12 niveles de función.
Importante : Las aplicaciones de Inicio del cambiodeben 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.fin del cambio
Consejo : Inicio del cambioPara 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.fin del cambio

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:
  • COMPRESS YES FIXEDLENGTH
  • COMPRESS YES HUFFMAN
Nee
V12R1M509 CREATE TABLE Se añaden las siguientes nuevas cláusulas:
  • COMPRESS YES FIXEDLENGTH
  • COMPRESS YES HUFFMAN

EN ACCELERATOR ahora puede especificar un alias que represente varios aceleradores.

Nee
V12R1M509 CREATE TABLESPACE Se añaden las siguientes nuevas cláusulas:
  • COMPRESS YES FIXEDLENGTH
  • COMPRESS YES HUFFMAN
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:
  • OR REPLACE
  • SPECIFIC
Nee
V12R1M507 CREAR PROCEDIMIENTO (SQL nativo) Se añaden las siguientes nuevas cláusulas:
  • OR REPLACE
  • SPECIFIC
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:
  • PADDED
  • USO DE LA APLICACIÓN COMPATIBILIDAD

Se cambian las siguientes cláusulas:

  • ADD COLUMN nombre-columna (ahora puede especificar columnas DECFLOAT)
  • COMPRESS

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:
  • CCSID
  • Cláusulas EXCLUSIVE e INCLUSIVE de la cláusula PERIOD BUSINESS_TIME
  • Cláusula PERIOD BUSINESS_TIME para restricciones

Se cambian las siguientes cláusulas:

  • ADD PERIOD FOR
  • ADD PARTITION
Nee
ALTER TABLESPACE Se añaden las siguientes nuevas cláusulas:
  • PAGENUM
  • INSERT ALGORITHM

Se cambian las siguientes cláusulas:

  • COMPRESS
  • DSSIZE
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:
  • CONCENTRATE STATEMENTS
  • WRAPPED
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:
  • CONCENTRATE STATEMENTS
  • WRAPPED
Nee
CREATE TABLE Se añaden las siguientes nuevas cláusulas:
  • CCSID en una columna CHAR, GRAPHIC, CLOB o DBCLOB
  • Cláusulas EXCLUSIVE e INCLUSIVE de la cláusula PERIOD BUSINESS_TIME
  • PAGENUM
  • PERIOD BUSINESS_TIME para restricciones

Se cambian las siguientes cláusulas:

  • DSSIZE
  • PERIOD FOR
Nee
CREATE TABLESPACE

Se añaden las siguientes nuevas cláusulas:

  • PAGENUM
  • INSERT ALGORITHM

Se cambian las siguientes cláusulas:

  • COMPRESS
  • DSSIZE
  • NUMPARTS

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:
  • Cláusula BETWEEN valor-1 AND valor-2 de cláusula-periodo
  • OBTENER PRIMERO n ÚNICAMENTE FILAS
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 EXPLAIN PACKAGE: copy.

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:

  • declaración de señal
  • ELSE IGNORE

Se cambian las siguientes cláusulas:

  • AS nombre-correlación
  • cláusula de asignación
  • WHEN condición-coincidente
  • THEN operación-modificación
  • USO (ver tabla de referencia )
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:
  • Origen de la cláusula de asignación
  • INTO
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

Iniciar información de la interfaz de programación de uso general.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

Iniciar información de la interfaz de programación de uso general.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.

Finalizar la información de la interfaz de programación de uso general.

Funciones incorporadas nuevas y modificadas

Db2 12 presenta o cambia las siguientes funciones incorporadas.

Información importante sobre las funciones definidas por el usuario existentes : Cuando un nuevo nivel de compatibilidad de aplicaciones introduce una función integrada nueva o modificada que tiene el mismo nombre y firma que una función definida por el usuario existente, las referencias no cualificadas a la función definida por el usuario podrían resolverse incorrectamente. Las aplicaciones que tienen referencias no calificadas a la función definida por el usuario pueden fallar. Para evitar esta situación, modifique las aplicaciones para calificar explícitamente las referencias a funciones definidas por el usuario con el mismo nombre y firma que las funciones incorporadas nuevas o modificadas.
Iniciar información de la interfaz de programación de uso general.
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:
  • UNI_60
  • UNI_90
 
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:
  • UNI_60
  • UNI_90
Nee
V12R1M500 UPPER, función escalar Ahora se pueden especificar las siguientes configuraciones regionales:
  • UNI_60
  • UNI_90
Nee
V12R1M500 Función escalar WRAP Nueva función incorporada. Nee
V12R1M100 Función de tabla BLOCKING_THREADS Nueva función incorporada.  

Finalizar la información de la interfaz de programación de uso general.

Procedimientos almacenados proporcionados por Db2 nuevos y modificados

Iniciar información de la interfaz de programación de uso general.Db2 12 presenta o cambia los siguientes procedimientos almacenados proporcionados por Db2:

Finalizar la información de la interfaz de programación de uso general.

Variables globales incorporadas

Iniciar información de la interfaz de programación de uso general.Db2 12 presenta las siguientes variables globales incorporadas:

Finalizar la información de la interfaz de programación de uso general.

Nuevas palabras reservadas en Db2 12

Iniciar información de la interfaz de programación de uso general.Db2 12 presenta las siguientes palabras reservadas de SQL:

Para ver la lista completa, consulte Palabras reservadas en Db2 for z/OS.

Finalizar la información de la interfaz de programación de uso general.