SQL0100W | No se ha encontrado ninguna fila para FETCH, UPDATE o DELETE o bien el resultado de una consulta es una tabla vacía. |
Explicación: Se cumple una de las condiciones siguientes:
No se ha recuperado, actualizado ni suprimido ningún dato.
Respuesta del usuario: No es necesaria ninguna acción. Se puede continuar el proceso.
sqlcode: +100
sqlstate: 02000
SQL0101N | La sentencia es demasiado larga o demasiado compleja. |
Explicación: No se ha podido procesar la sentencia porque excede el límite del sistema establecido para la longitud o complejidad, o porque intervienen demasiadas restricciones o activadores.
Si la sentencia crea o modifica una descripción empaquetada, la nueva descripción empaquetada puede ser demasiado grande para la columna correspondiente en los catálogos del sistema.
Los Usuarios del sistema federado también deben comprobar si la sentencia:
No se puede procesar la sentencia.
Nota: | Allí donde se realicen conversiones de datos de caracteres para aplicaciones y bases de datos que se ejecuten bajo diferentes páginas de códigos, el resultado de la conversión es el exceso del límite de longitud. |
Respuesta del usuario: Proceda de una de estas maneras:
sqlcode: -101
sqlstate: 54001
SQL0102N | La constante de serie con empieza con "<serie>", es demasiado larga. |
Explicación: Se ha producido una de las situaciones siguientes:
Es posible que se esté produciendo una conversión de datos y que la serie resultante sea demasiado larga. Para las conexiones entre aplicaciones y bases de datos que se ejecutan con diferentes páginas de códigos, las constantes de series de caracteres pasan de una página de códigos de aplicación a otra. En determinadas situaciones, las constantes de series de gráficos pueden convertirse además de la página de códigos de base de datos a una codificación UCS-2 (UNICODE), por ejemplo, cuando la base de datos se ha creado con una página de códigos EUC. Esto significa que es posible obtener una serie resultante que sea más larga que la serie de entrada.
No se puede procesar la sentencia.
Respuesta del usuario: Si el problema está en el comentario sobre columna o en el comentario sobre tabla, reduzca el tamaño del comentario. Si el problema está en la sentencia de SQL CONNECT, reduzca la longitud del nombre del servidor de aplicaciones. Si el problema está en otras constantes de serie, la función solicitada no está disponible de forma interactiva. Si el error se produce en el contexto de una sentencia que no sea CONNECT SQL incluida en un programa de aplicación, asigne la serie larga a una variable del sistema principal y sustituya la variable por la serie literal en la sentencia de SQL.
Usuarios del sistema federado: en una sesión de paso a través, determine la fuente de datos que provoca el error (consulte la guía para la determinación de problemas para conocer las fuentes de datos anómalas). Examine el lenguaje SQL para esta fuente de datos para determinar el límite específico que se ha excedido y ajuste la sentencia que falla tal como sea necesario.
sqlcode: -102
sqlstate: 54002
SQL0103N | El literal numérico "<literal>" no es válido. |
Explicación: El "<literal>" indicado empieza con un dígito pero no es un entero, un decimal o un literal de coma flotante válido.
Usuarios del sistema federado: Se ha producido un error de representación literal específico de la fuente de datos en una sesión de paso a través.
No se puede procesar la sentencia.
Respuesta del usuario: Corrija el literal numérico no válido. Usuarios del sistema federado, si el error se ha producido en una sesión de paso a través, determine la fuente de datos que provoca el error (consulte la guía para la determinación de problemas para conocer las fuentes de datos que fallan). Examine el lenguaje SQL para esa fuente de datos para determinar la norma de representación literal que se ha violado y ajuste la sentencia que falla tal como sea necesario.
sqlcode: -103
sqlstate: 42604
SQL0104N | Se ha encontrado un símbolo "<símbolo>" después de "<texto>". Los símbolos esperados son: "<lista-símbolos>". |
Explicación: Se ha detectado un error de sintaxis en la sentencia de SQL en el símbolo especificado después del texto "<texto>". El campo "<texto>" indica los 20 caracteres de la sentencia de SQL que preceden al símbolo que no es válido.
Como ayuda al programador, se proporciona una lista parcial de símbolos válidos en el campo SQLERRM del SQLCA como "<lista-símbolos>". Esta lista da por supuesto que la sentencia es correcta hasta ese punto.
No se puede procesar la sentencia.
Respuesta del usuario: Revise y corrija la sentencia en el área del símbolo especificado.
sqlcode: -104
sqlstate: 42601
SQL0105N | La constante de serie que empieza con "<serie>" no es válida. |
Explicación: La sentencia contiene una constante de serie que empieza por "<serie>" que no es válida.
No se puede procesar la sentencia.
Respuesta del usuario: Especifique el formato correcto de la constante de serie. Compruebe la serie gráfica, las parejas de delimitadores y que el número de bytes de la serie sea par.
Usuarios del sistema federado, consulte la guía para la determinación de problemas para determinar la fuente de datos que provoca el error.
sqlcode: -105
sqlstate: 42604
SQL0106N | La sentencia de SQL empieza correctamente pero no está completa. |
Explicación: La sentencia de SQL es correcta hasta el punto en que falta más entrada. Podría estar provocado por no haber podido finalizar correctamente un literal. Los literales de serie necesitan unas comillas al final.
Ha finalizado el proceso de esta sentencia de SQL.
Respuesta del usuario: Compruebe que la sentencia tenga todas las partes necesarias para completar la función deseada y que todas las cláusulas se hayan completado.
En PL/I: Compruebe que se haya completado la sentencia de SQL antes del punto y coma. En Assembler: Compruebe que se sigan adecuadamente las normas de continuación. (Debe haber un carácter que no sea blanco en la columna 72 y las líneas continuas deben empezar en la columna 16 o posterior.)
En COBOL: Compruebe que se haya completado la sentencia de SQL antes de END-EXEC.
sqlcode: -106
sqlstate: 42601, 42603
SQL0107N | El nombre "<nombre>" es demasiado largo. La longitud máxima es "<longitud>". |
Explicación: El nombre devuelto como "<nombre>" es demasiado largo. La longitud máxima permitida para este tipo viene indicada por "<longitud>".
Los nombres de índices y restricciones pueden tener una longitud máxima de 18 bytes. Los nombres de columnas pueden tener una longitud máxima de 30 bytes. Los nombres de puntos de grabación, tablas, vistas y alias pueden tener una longitud máxima de 128 bytes. (Esta longitud no incluye los caracteres de escape, en el caso de que los haya.)
Se permite un máximo de 30 bytes para el nombre de esquema (calificador de objeto), excepto para tipos definidos por el usuario, que permiten un máximo de 8 bytes para un nombre de esquema.
Los nombres de variables del sistema principal no pueden exceder los 30 bytes de longitud.
Para la sentencia de SQL CONNECT, en el momento de la precompilación se aceptará un nombre de servidor de aplicaciones de una longitud no superior a los 18 caracteres. Sin embargo, en el momento de la ejecución, un nombre de servidor de aplicaciones que contenga más de 8 caracteres de longitud causará un error.
Asimismo, se aceptará una contraseña de hasta 18 caracteres de longitud y un ID de autorización de hasta 8 caracteres de longitud en la sentencia de SQL CONNECT.
Usuarios del sistema federado: si se trata de una sesión de paso a través, es posible que se haya excedido un límite específico de la fuente de datos.
No se puede procesar la sentencia.
Nota: | Allí donde se realicen conversiones de datos de caracteres para aplicaciones y bases de datos que se ejecuten bajo diferentes páginas de códigos, el resultado de la conversión es el exceso del límite de longitud. |
Respuesta del usuario: Elija un nombre más corto o corrija la ortografía del nombre de objeto.
Usuarios del sistema federado: en una sesión de paso a través, determine la fuente de datos que provoca el error (consulte la guía para la determinación de problemas para conocer las fuentes de datos anómalas). Examine el lenguaje SQL para esta fuente de datos para determinar el límite específico que se ha excedido y ajuste la sentencia que falla tal como sea necesario.
sqlcode: -107
sqlstate: 42622
SQL0108N | El nombre "<nombre>" tiene un número erróneo de calificadores. |
Explicación: El nombre "<nombre>" se ha calificado de forma incorrecta.
El objeto con el nombre "<nombre>" sólo puede tener un calificador.
Un nombre de columna está calificado con un nombre de tabla (calificado o no calificado) o con un nombre de correlación. En algunos contextos, un nombre de columna necesita un calificador de nombre de tabla.
No se puede procesar la sentencia.
Respuesta del usuario: Asegúrese de que el nombre del objeto está correctamente calificado.
sqlcode: -108
sqlstate: 42601
SQL0109N | La cláusula "<cláusula>" no está permitida. |
Explicación: La cláusula indicada no está permitida en el contexto en el que aparece en la sentencia de SQL.
Una subconsulta, una sentencia INSERT o una sentencia CREATE VIEW no pueden tener cláusulas INTO, ORDER BY ni FOR UPDATE. Una sentencia SELECT incluida no puede tener cláusulas ORDER BY ni FOR UPDATE. Una sentencia SELECT incluida no puede contener un operador de conjunto, excepto en una subconsulta. Las sentencias SELECT o VALUES utilizadas en declaraciones del cursor no pueden tener una cláusula INTO. Sólo se puede utilizar una función RAISE_ERROR como elemento de la lista de selección si se convierte a algún otro tipo de datos utilizando la especificación CAST.
Usuarios del sistema federado: En una sesión de paso a través, es posible que se haya violado una restricción específica de la fuente de datos.
No se puede procesar la sentencia.
Respuesta del usuario: Corrija la sentencia de SQL eliminando la cláusula.
Usuarios del sistema federado: En una sesión de paso a través, determine la fuente de datos que provoca el error (consulte la guía para la determinación de problemas para conocer las fuentes de datos anómalas). Examine el dialecto de SQL correspondiente a esa fuente de datos para determinar cuál es la restricción específica que se ha violado y ajuste, si procede, la sentencia anómala.
sqlcode: -109
sqlstate: 42601
SQL0110N | "<serie>" es una constante hexadecimal no válida. |
Explicación: La constante hexadecimal "<serie>" no es válida. El problema es alguno de los siguientes:
Respuesta del usuario: Corrija la constante y vuelva a someter la sentencia.
sqlcode: -110
sqlstate: 42606
SQL0111N | La función de columna "<nombre>" no incluye ningún nombre de columna. |
Explicación: No se ha especificado correctamente la función de columna "<nombre>" (AVG, MIN, MAX, SUM o COUNT(DISTINCT)) porque estas funciones deben incluir un nombre de columna en el operando.
No se puede procesar la sentencia.
Respuesta del usuario: Especifique un nombre de columna en la expresión que sea el operando de la función de columna.
NOTA: Este error sólo afecta a los releases de DB2 anteriores a la Versión 2.
sqlcode: -111
sqlstate: 42901
SQL0112N | El operando de la función de columna "<nombre>" incluye una función de columna, una selección completa escalar o una subconsulta. |
Explicación: El operando de una función de columna no puede incluir:
En una lista SELECT, el operando de un operador aritmético no puede ser una función de columna que incluya la palabra clave DISTINCT.
No se puede procesar la sentencia.
Respuesta del usuario: Corrija el modo en que se utiliza la función de columna para eliminar la expresión no válida y vuelva a intentarlo.
sqlcode: -112
sqlstate: 42607
SQL0113N | "<identificador>" contiene un carácter que no está permitido o no contiene ningún carácter. |
Explicación: Un nombre de variable SQL, un nombre de parámetro o un nombre de condición "<identificador>" contiene un carácter no válido. Sólo se permiten caracteres que son válidos para un identificador común SQL. Observe que debido a que el identificador está delimitado, no se realiza la conversión y las letras mayúsculas y minúsculas se consideran diferenciadas entre sí.
Respuesta del usuario: Corrija el identificador y vuelva a someter la sentencia.
sqlcode: -113
sqlstate: 42601
SQL0117N | El número de valores asignado no es el mismo que el número de columnas especificadas o implícitas. |
Explicación:
No se puede procesar la sentencia.
Respuesta del usuario: Corrija la sentencia de modo que especifique un valor para cada una de las columnas especificadas o implicadas.
sqlcode: -117
sqlstate: 42802
SQL0118N | La tabla o vista de destino de la sentencia INSERT, DELETE o UPDATE también se especifica en una cláusula FROM. |
Explicación: La tabla o vista especificada como destino de una sentencia INSERT, DELETE o UPDATE aparece también en la cláusula FROM de una subconsulta de la sentencia.
La tabla o vista destino de una sentencia INSERT, UPDATE o DELETE no se puede utilizar para suministrar los valores que se van a insertar ni para calificar las filas que se van a insertar, actualizar o suprimir.
No se puede procesar la sentencia.
Este mensaje sólo afecta a los servidores de la Versión 1.2 y anteriores, y los sistemas principales accedidos a través de DB2 Connect.
Respuesta del usuario: No se da soporte a la función implícita. Para intentar obtener el resultado deseado, cree una copia temporal de la tabla de objetos o vista y direccione la subselección a dicha copia.
sqlcode: -118
sqlstate: 42902
SQL0119N | Una expresión que empieza por "<inicio-expresión>" especificada en una cláusula SELECT, cláusula HAVING o cláusula ORDER BY no está especificada en la cláusula GROUP BY o está en una cláusula SELECT, cláusula HAVING o cláusula ORDER BY con una función de columna y no se ha especificado ninguna cláusula GROUP BY. |
Explicación: La sentencia SELECT contiene uno de los errores siguientes:
La expresión identificada es una expresión que empieza por "<inicio-expresión>". La expresión puede ser un solo nombre de columna.
Si se especifican las funciones NODENUMBER o PARTITION en la cláusula HAVING, se considera que todas las columnas de claves de particionamiento de la tabla subyacente se encuentran en la cláusula HAVING.
No se puede procesar la sentencia.
Respuesta del usuario: Corrija la sentencia incluyendo la expresión en la cláusula GROUP BY que está en la cláusula SELECT, cláusula HAVING o cláusula ORDER BY, o eliminando la función de columna de la sentencia SELECT.
sqlcode: -119
sqlstate: 42803
SQL0120N | Una cláusula WHERE, GROUP BY, SET o una sentencia de variable de transición SET contiene una función de columna. |
Explicación: Una cláusula WHERE sólo puede contener una función de columna si la cláusula aparece en una subconsulta de una cláusula HAVING y el argumento de la función de columna es una función correlacionada a un grupo. Una cláusula GROUP BY sólo puede contener una función de columna si el argumento de la función de columna es una referencia correlacionada a una columna de una subselección distinta de la que contiene la cláusula GROUP BY. Una cláusula SET de una sentencia UPDATE o una sentencia de variable de transición SET sólo puede incluir una función de columna dentro de una selección completa a la derecha de una asignación.
No se puede procesar la sentencia.
Respuesta del usuario: Cambie la sentencia de modo que no se utilice la función de columna o que sólo se utilice donde está soportada.
sqlcode: -120
sqlstate: 42903
SQL0121N | La columna "<nombre>" se especifica más de una vez en la sentencia de variable de transición INSERT, UPDATE o SET. |
Explicación: La misma columna "<nombre>" se ha especificado más de una vez en la lista de columnas de una sentencia INSERT, la parte izquierda de las asignaciones de la cláusula SET de una sentencia UPDATE o la parte izquierda de las asignaciones de la sentencia de variable de transición SET. Observe que este error puede producirse al realizar una actualización o una inserción en una vista en la que más de una columna se basa en la misma columna de una tabla base.
No se puede procesar la sentencia.
Respuesta del usuario: Corrija la sintaxis de la sentencia de modo que cada nombre de columna esté especificado sólo una vez.
sqlcode: -121
sqlstate: 42701
SQL0122N | Una sentencia SELECT sin cláusula GROUP BY contiene un nombre de columna y una función de columna en la cláusula SELECT o bien la cláusula SELECT contiene un nombre de columna pero no en la cláusula GROUP BY. |
Explicación: La sentencia SELECT contiene uno de los errores siguientes:
La columna puede estar contenida en una función escalar.
Si se especifican las funciones NODENUMBER o PARTITION en la cláusula SELECT, se considera que todas las columnas de claves de particionamiento de la tabla subyacente se hallan en la cláusula SELECT.
No se puede procesar la sentencia.
Respuesta del usuario: Corrija la sentencia incluyendo en la cláusula GROUP BY las columnas de la cláusula SELECT o eliminando las columnas de la cláusula SELECT.
sqlcode: -122
sqlstate: 42803
SQL0123N | El parámetro de la posición "<n>" de la función "<nombre>" debe ser una constante o una palabra clave. |
Explicación: El parámetro de la posición "<n>" de la función "<nombre>" no es una constante cuando es necesario que sea una constante o no es una palabra clave cuando es necesario que lo sea.
Respuesta del usuario: Asegúrese de que cada argumento de la función cumple la definición del parámetro correspondiente.
sqlcode: -123
sqlstate: 42601
SQL0125N | El número de columna de la cláusula ORDER BY es menor que uno o mayor que el número de columnas de la tabla de resultados. |
Explicación: La cláusula ORDER BY de la sentencia contiene un número de columna menor que 1 o mayor que el número de columnas de la tabla de resultados (el número de elementos de la cláusula SELECT).
No se puede procesar la sentencia.
Respuesta del usuario: Corrija la sintaxis de la cláusula ORDER BY de modo que cada identificador de columna identifique correctamente a una columna de la tabla de resultados.
sqlcode: -125
sqlstate: 42805
SQL0127N | Se ha especificado DISTINCT más de una vez. |
Explicación: No se puede utilizar el calificador DISTINCT a la vez en:
No se puede procesar la sentencia.
Respuesta del usuario: Este error sólo se puede aplicar a los releases de DB2 anteriores a DB2 Versión 2 y a los sistemas principales a los que se accede mediante DB2 Connect.
sqlcode: -127
sqlstate: 42905
SQL0129N | La sentencia contiene demasiados nombres de tabla (el máximo es 15). |
Explicación: La sentencia de SQL contiene demasiados nombres de tabla. Una sola sentencia de SQL puede hacer referencia a un total de 15 tablas. En este límite se incluye cada una de las tablas a las que se haga referencia en cualquier vista.
No se puede procesar la sentencia.
Respuesta del usuario: Divida la sentencia de SQL en dos o más sentencias simples que tengan 15 o menos referencias de tablas.
Este mensaje sólo afecta a los servidores de la Versión 1.2 y anteriores, y los sistemas principales accedidos a través de DB2 Connect.
sqlcode: -129
sqlstate: 54004
SQL0130N | La cláusula ESCAPE no es un sólo carácter, o bien la serie contiene una aparición no válida del carácter de escape. |
Explicación: El carácter de escape debe ser un sólo carácter que no tenga más de dos bytes de longitud. Sólo puede aparecer en la serie si le sigue otro carácter de escape, un signo de porcentaje o un guión bajo. Para obtener más información acerca de la cláusula ESCAPE en el predicado LIKE, consulte la publicación Consulta de SQL.
Respuesta del usuario: Corrija la serie de patrones o el carácter de escape como corresponda.
sqlcode: -130
sqlstate: 22019, 22025
SQL0131N | Los operandos del predicado LIKE tienen tipos de datos incompatibles. |
Explicación: Si la expresión que hay a la izquierda de LIKE o de NOT LIKE es de tipo carácter, la expresión de la derecha también debe ser de tipo carácter.
Si la expresión de la izquierda es de tipo gráfico, la de la derecha también debe ser de tipo gráfico.
Si la expresión de la izquierda es de tipo BLOB, la de la derecha también debe ser de tipo BLOB.
No se puede procesar la sentencia.
Respuesta del usuario: Corrija las expresiones del predicado LIKE para que sean del mismo tipo.
sqlcode: -131
sqlstate: 42818
SQL0132N | Un predicado LIKE o una función escalar POSSTR no son válidos porque el primer operando no es una expresión de serie o porque el segundo operando no es una serie. |
Explicación: Un predicado LIKE o una función escalar POSSTR que aparece en la sentencia no es válido porque el primer operando no es una expresión de serie o porque el segundo operando no es una serie.
El operando que aparece a la izquierda de un predicado LIKE o NOT LIKE o el primer operando de POSSTR debe ser una expresión de serie. El valor que aparece a la derecha del predicado o del segundo operando de POSSTR puede ser:
teniendo en cuenta las siguientes restricciones:
No se puede utilizar un predicado LIKE ni una función escalar POSSTR con DATE, TIME ni TIMESTAMP.
No se puede procesar la sentencia.
Respuesta del usuario: Compruebe y corrija la sintaxis de LIKE y POSSTR
sqlcode: -132
sqlstate: 42824
SQL0134N | Se ha utilizado de forma indebida una columna de serie, una variable del sistema principal o la función "<nombre>". |
Explicación: No se permite la utilización de la serie "<nombre>".
No se permite una expresión que dé como resultado un tipo de datos de serie con una longitud superior a 255 bytes en:
No se permite una expresión que dé como resultado un tipo de datos LONG VARCHAR o LONG VARGRAPHIC en:
Usuarios del sistema federado: en una sesión de paso a través, este error puede deberse a una restricción específica de la fuente de datos. Consulte la publicación Consulta de SQL para ver las fuentes de datos que fallan.
No se puede procesar la sentencia.
Respuesta del usuario: La operación solicitada en la serie no está soportada.
Nota: | Si no queda clara la forma en que puede excederse el límite de 255 bytes, considere que pueden precisarse operaciones de conversión de páginas de códigos para evaluar la expresión de la serie. Según las páginas de código fuente y destino, la página de códigos destino puede tener un atributo de longitud mayor que la página de códigos fuente. Para obtener más información, consulte la publicación Consulta de SQL para ver las explicaciones de las restricciones de serie y conversiones de series. |
sqlstate: 42907
SQL0135N | La entrada para una columna de serie larga de una sentencia INSERT o UPDATE debe ser de una variable del sistema principal o la palabra clave NULL. |
Explicación: UPDATE o INSERT utiliza constantes, nombres de columna o subconsultas cuando debería utilizar NULL o una variable del sistema principal.
Una columna de serie larga es LONG VARCHAR, LONG VARGRAPHIC, VARCHAR(n) donde n es mayor que 254 pero menor o igual a 32767, o bien VARGRAPHIC(n) donde n es mayor que 127 pero menor o igual a 16383.
Respuesta del usuario: Consulte el manual DB2 for VM Application Programming para obtener información sobre la utilización de series largas. Corrija la sentencia. Vuelva a intentarlo.
sqlcode: -135
sqlstate: 56033
SQL0137N | La longitud resultante de "<operación>" es mayor que "<valor máximo>". |
Explicación: El resultado de concatenar los operandos dados supera la longitud máxima a la que da soporte el tipo de resultado.
Los resultados de la serie de caracteres están limitados a 32.700 bytes a no ser que alguno de lo operandos sea un CLOB, con lo que el límite sería de 2 gigabytes.
Los resultados de la serie gráfica están limitados a 16.350 caracteres a no ser que alguno de los operandos sea un DBCLOB, con lo que el límite sería de 1.073.741.823 caracteres de doble byte (1 menos que un gigabyte).
Los resultados de series binarias (los operandos son BLOB) se limitan a 2 gigabytes.
Respuesta del usuario: Asegúrese de que la suma de longitudes de los operandos no supera el máximo al que se da soporte y vuelva a intentar la operación.
sqlcode: -137
sqlstate: 54006
SQL0138N | El segundo o el tercer argumento de la función SUBSTR está fuera del rango permitido. |
Explicación: Se ha producido una de las condiciones siguientes:
M es la longitud del primer argumento, si es una longitud fija, o la longitud máxima del primer argumento, si es una longitud variable. N es el valor del segundo argumento.
No se puede procesar la sentencia.
Respuesta del usuario: Asegúrese de que el segundo y el tercer argumento de la función SUBSTR tienen valores que cumplen las normas anteriores.
sqlcode: -138
sqlstate: 22011
SQL0139W | Aparece una cláusula redundante en la especificación para la columna "<columna>". |
Explicación: La cláusula de la especificación de columna es redundante.
La sentencia se ha procesado satisfactoriamente, pero se ha pasado por alto la cláusula redundante.
Respuesta del usuario: Corrija la especificación de columna.
sqlcode: +139
sqlstate: 01589
SQL0142N | No se da soporte a la sentencia de SQL. |
Explicación: El gestor de bases de datos no soporta una sentencia de SQL incluida que puede ser válida para otros productos de bases de datos relacionales de IBM.
Usuarios del sistema federado: compruebe si la sentencia de SQL se ha dirigido a una fuente de datos que no soporta la sentencia de SQL.
No se puede procesar la sentencia.
Respuesta del usuario: Cambie la sintaxis de la sentencia de SQL o elimine dicha sentencia del programa.
Usuarios del sistema federado: si la razón es desconocida, aísle el problema en la fuente de datos que no puede procesar la petición (en la guía para la determinación de problemas hallará los procedimientos que hay que seguir para identificar la fuente de datos que falla) y examine el lenguaje SQL para esa fuente de datos.
SQL0143W | No se da soporte a la sentencia de SQL; se ignora la sintaxis no válida. |
Explicación: El gestor de bases de datos comprende pero no da soporte a una sentencia de SQL incluida, que puede ser válida para otros productos de bases de datos relacionales de IBM.
La sentencia puede generar resultados incoherentes o no deseados.
Respuesta del usuario: Cambie la sintaxis de la sentencia de SQL o elimine dicha sentencia del programa.
SQL0150N | La vista, la tabla de tipo o la tabla de resumen de la sentencia INSERT, DELETE o UPDATE es una vista, una tabla de tipo o una tabla de resumen para la cual no está permitida la operación solicitada. |
Explicación: La vista, tabla de tipo o tabla de resumen nombrada en la sentencia INSERT, UPDATE o DELETE está definida de modo que la operación de inserción, actualización o supresión solicitada no se puede realizar.
Una vista es de sólo lectura si la sentencia SELECT contiene cualquiera de los siguientes elementos:
Tenga presente que estas condiciones no se aplican a las subconsultas de la sentencia SELECT.
No se pueden insertar filas directamente en una tabla de tipo definida en un tipo de estructura del que no se puede crear una instancia. Puede que las subtablas de esta tabla permitan la inserción.
Las tablas resumen no permiten operaciones de inserción, actualización ni supresión.
No se puede procesar la sentencia.
Respuesta del usuario: No se puede realizar la función solicitada en la vista o la tabla resumen.
Usuarios del sistema federado: si la razón es desconocida, aísle el problema en la fuente de datos que no puede procesar la petición (vea en la guía para la determinación de problemas los procedimientos que se han de seguir para identificar la fuente de datos que falla) y examine la definición del objeto y las restricciones de actualización para esa fuente de datos.
sqlcode: -150
sqlstate: 42807
SQL0151N | La columna "<nombre>" no se puede actualizar. |
Explicación: No se puede actualizar la columna especificada debido a uno de los siguientes motivos.
Los Usuarios del sistema federado deben comprobar si alguna otra limitación específica de la fuente de datos impide la actualización de la columna.
No se puede procesar la sentencia.
Respuesta del usuario: No se da soporte a la función solicitada. Para obtener una lista de los catálogos que se pueden actualizar (y de las columnas que se pueden actualizar), consulte el manual Consulta de SQL.
Usuarios del sistema federado: si la razón es desconocida, aísle el problema en la fuente de datos que no puede procesar la petición (consulte la guía para la determinación de problemas) y examine la definición del objeto y las restricciones de actualización para esa fuente de datos.
sqlcode: -151
sqlstate: 42808
SQL0153N | La sentencia CREATE VIEW o una expresión de tabla común no incluye una lista de columna. |
Explicación: Hay que especificar una lista de columnas en una sentencia CREATE VIEW o en una expresión de tabla común cuando:
No se puede procesar la sentencia. No se creó la vista para una sentencia CREATE VIEW.
Respuesta del usuario: Suministre una lista de nombres de columnas en la sentencia CREATE VIEW, en la expresión de tabla común o nombre las columnas de la lista SELECT de la selección completa mediante la cláusula AS.
sqlcode: -153
sqlstate: 42908
SQL0155N | No se puede modificar una tabla de transición del activador. |
Explicación: El activador incluye una cláusula REFERENCING con un OLD_TABLE o un NEW_TABLE identificados. Una sentencia de SQL de DELETE, INSERT o UPDATE activada ha utilizado el mismo nombre como OLD_TABLE o NEW_TABLE que la tabla que ha de modificarse.
Respuesta del usuario: Elimine de la acción activada la sentencia de SQL de DELETE, INSERT o UPDATE activada o bien cambie el nombre de la tabla de transición, de modo que no entre en conflicto con la tabla que está tratando de modificar.
sqlcode: -155
sqlstate: 42807
SQL0156N | El nombre que se ha utilizado para esta operación no es una tabla. |
Explicación: Las sentencias ALTER TABLE, DROP TABLE, SET CONSTRAINTS, CREATE TRIGGER, CREATE INDEX, LOCK TABLE y RENAME TABLE de SQL sólo se pueden aplicar a las tablas, no a las vistas. Los programas de utilidad RUNSTATS y LOAD sólo se pueden aplicar también a las tablas, no a las vistas.
Usuarios del sistema federado: Algunos programas de utilidad y sentencias no están soportados en un entorno federado. Consulte la publicación Administration Guide para obtener más información.
No se puede procesar la sentencia o el programa de utilidad.
Respuesta del usuario: Compruebe que en la sentencia se ha especificado el nombre de tabla correcto. Si se ha suministrado un nombre de alias, asegúrese de que el alias se resuelve en una tabla.
Usuarios del sistema federado: Verifique que el objeto no sea un apodo.
sqlcode: -156
sqlstate: 42809
SQL0157N | "<nombre>" no está permitido en una cláusula FOREIGN KEY porque no identifica una tabla básica. |
Explicación: Se ha identificado el objeto "<nombre>" en una cláusula FOREIGN KEY de una sentencia CREATE o ALTER TABLE. Una cláusula FOREIGN KEY debe identificar una tabla básica.
No se puede procesar la sentencia. No se crea ni se modifica la tabla especificada.
Respuesta del usuario: Corrija la sentencia de modo que especifique un nombre de tabla básica en la cláusula FOREIGN KEY.
Si se ha suministrado un nombre de alias, asegúrese de que el alias se resuelve en una tabla básica.
sqlcode: -157
sqlstate: 42810
SQL0158N | El número de columnas especificado para "<nombre>" no es igual al número de columnas de la tabla de resultados de la selección completa asociada. |
Explicación: El identificador "<nombre>" ha podido identificar:
El número de nombres de columna especificados debe ser igual al número de columnas de la tabla de resultados de la selección completa asociada.
No se puede procesar la sentencia.
Respuesta del usuario: Corrija la sintaxis para que la lista de nombres de columnas definida para "<nombre>" especifique un nombre para cada columna de la tabla de resultados de la selección completa asociada.
sqlcode: -158
sqlstate: 42811
SQL0159N | La sentencia hace referencia al "<objeto>" que identifica un "<tipo-objeto>" en lugar de un "<tipo-objeto-esperado>". |
Explicación: El objeto "<objeto>" especificado como parte de la sentencia o mandato hace referencia a un objeto de tipo "<tipo-objeto>" en lugar del tipo esperado "<tipo-objeto-esperado>".
El tipo del objeto proporcionado con la sentencia o mandato debe coincidir con el tipo identificado por "<tipo-objeto-esperado>". Por ejemplo, si la sentencia es DROP ALIAS PBIRD.T1, PBIRD.T1 debe ser un nombre de alias.
Respuesta del usuario: Cambie la sentencia o mandato de modo que coincida adecuadamente con el tipo de objeto identificado por "<tipo-objeto-especificado>".
sqlcode: -159
sqlstate: 42809
SQL0160N | La cláusula WITH CHECK OPTION no es válida para la vista especificada. |
Explicación: La cláusula WITH CHECK OPTION no se puede utilizar en una definición de vista si:
Usuarios del sistema federado: la opción WITH CHECK no está soportada en las vistas que hacen referencia a apodos que se pueden actualizar.
No se puede procesar la sentencia. No se ha creado la vista especificada.
Respuesta del usuario: Elimine la cláusula WITH CHECK OPTION o cambie la definición de la vista de modo que cumpla con las normas anteriores.
sqlcode: -160
sqlstate: 42813
SQL0161N | La fila resultante de INSERT o de UPDATE no cumple la definición de vista. |
Explicación: Se ha especificado la cláusula WITH CHECK OPTION en la definición de la vista que constituye el objeto de la sentencia INSERT o UPDATE. Por lo tanto, se comprueba cualquier intento de insertar o actualizar filas de esta vista para asegurar que los resultados se ajustan a la definición de vista.
No se puede procesar la sentencia. No se realiza ninguna inserción ni actualización ni se modifica el contenido de la vista ni de la tabla base implícita.
Respuesta del usuario: Revise la definición de vista para averiguar por qué se ha rechazado INSERT o UPDATE. Tenga en cuenta que esta condición puede depender de los datos.
La sentencia INSERT o UPDATE solicitada puede intentar colocar valores fuera de rango en la columna o columnas destino. En las actualizaciones de catálogos del sistema, consulte el manual Consulta de SQL para ver los rangos válidos de las diversas columnas actualizables de los catálogos.
Usuarios del sistema federado: si la razón es desconocida, aislar el problema en la fuente de datos que no puede procesar la petición (consulte la guía para la determinación de problemas) y examine la definición del objeto y la definición de la vista para esa fuente de datos.
sqlcode: -161
sqlstate: 44000
SQL0170N | El número de argumentos para la función "<nombre>" es incorrecto. |
Explicación: La función escalar especificada "<nombre>" tiene demasiados o insuficientes argumentos.
No se puede procesar la sentencia.
Respuesta del usuario: Asegúrese de especificar el número correcto de argumentos para la función escalar.
sqlcode: -170
sqlstate: 42605
SQL0171N | El tipo de datos, la longitud o el valor del argumento "<n>" de la rutina "<nombre>" no son correctos. |
Explicación: El tipo de datos, la longitud o el valor del argumento "<n>" de la rutina "<nombre>" no son correctos.
No se puede procesar la sentencia.
Respuesta del usuario: Asegúrese de que los argumentos de la rutina cumplen las normas de la rutina.
sqlcode: -171
sqlstate: 42815
SQL0172N | "<nombre>" no es un nombre de función válido. |
Explicación: La sentencia de SQL contiene una función escalar desconocida.
No se puede procesar la sentencia.
Respuesta del usuario: Asegúrese de que ha escrito correctamente el nombre de función.
sqlcode: -172
sqlstate: 42601
SQL0176N | El segundo, tercer o cuarto argumento de la función escalar TRANSLATE es incorrecto. |
Explicación: La sentencia no es correcta por una o varias de las razones siguientes:
No se puede procesar la sentencia.
Respuesta del usuario: Asegúrese de que el segundo, tercer y cuarto argumento de la función escalar TRANSLATE tienen valores correctos.
sqlcode: -176
sqlstate: 42815
SQL0180N | La sintaxis de la representación de serie de un valor de fecha/hora no es correcta. |
Explicación: La representación de serie de un valor de fecha, hora o indicación de la hora cumple con la sintaxis del tipo de datos especificado o implícito.
No se puede procesar la sentencia.
Respuesta del usuario: Asegúrese de que la sintaxis del valor de fecha, hora o indicación de la hora cumple con la sintaxis de su tipo de datos. Si la serie no está destinada a ser un valor de fecha, hora o indicación de la hora, asegúrese de que al utilizarla no implique estos tipos de datos.
Usuarios del sistema federado: el problema puede ser debido a un error en la representación de la fecha/hora de la fuente de datos. Si la razón es desconocida, aísle el problema en la fuente de datos que no puede procesar la petición, consulte la publicación Problem Determination Guide y examine las restricciones de la representación de la fecha/hora para esa fuente de datos.
sqlcode: -180
sqlstate: 22007
SQL0181N | La representación de serie de un valor de fecha/hora está fuera de rango. |
Explicación: La representación de serie de un valor de fecha, hora o indicación de la hora contiene un valor que está fuera de rango.
Este error podría deberse a que se ha tratado de acceder a un valor de fecha/hora desde una aplicación que utiliza un código de país cuyo formato de fecha/hora es distinto al que emplea la aplicación que creó dicho valor. Por ejemplo, un valor de fecha y hora de serie almacenado en el formato dd/mm/aaaa no será válido cuando lo lea una aplicación que espera que su formato sea mm/dd/aaaa.
Los rangos correctos para los valores de fecha, hora o indicación de la hora son los siguientes:
Usuarios del sistema federado: el problema puede ser debido a un error en la representación de fecha/hora en la fuente de datos. En la documentación que acompaña a la fuente de datos hallará los rangos válidos de fecha y de hora de la fuente de datos. Si la razón es desconocida, aísle el problema en la fuente de datos que no puede procesar la petición (consulte la publicación Problem Determination Guide) y examine las restricciones de representación de la fecha/hora para esa fuente de datos.
No se puede procesar la sentencia.
Respuesta del usuario: Asegúrese de que el valor esté dentro del rango válido y de que el formato de fecha y hora de la aplicación sea el mismo que el valor de la serie.
sqlcode: -181
sqlstate: 22007
SQL0182N | Una expresión con un valor de fecha/hora o una duración asignada no es válida. |
Explicación: En la expresión especificada se ha utilizado de forma incorrecta una fecha, hora, indicación de la hora o una duración etiquetada.
No se puede procesar la sentencia.
Respuesta del usuario: Revise la sentencia de SQL para determinar la causa del problema y corrija la sentencia.
sqlcode: -182
sqlstate: 42816
SQL0183N | El resultado de una operación aritmética o función escalar de fecha/hora no se encuentra dentro del rango válido de fechas. |
Explicación: El resultado de una operación aritmética es una fecha o una duración de indicación de la hora que está fuera del rango que va de 0001-01-01 a 9999-12-31.
No se puede ejecutar la sentencia.
Respuesta del usuario: Revise la sentencia de SQL para determinar la causa del problema. Si el problema depende de los datos, revise los datos procesados en el momento en que se produjo el error.
sqlcode: -183
sqlstate: 22008
SQL0187N | La referencia a un registro especial de fecha/hora actual no es válida. |
Explicación: Se ha detectado una indicación de error procedente del sistema operativo al recuperar información de fecha/hora.
Respuesta del usuario: Asegúrese de que los valores de huso horario y de reloj TOD del sistema son correctos.
sqlcode: -187
sqlstate: 22506
SQL0190N | ALTER TABLE "<nombre-tabla>" especificó atributos para la columna "<nombre-columna>" que no son compatibles con la columna existente. |
Explicación: Los atributos especificados en la cláusula ALTER COLUMN para la columna "<nombre-columna>" de la tabla "<nombre-tabla>" en una sentencia ALTER TABLE no son compatibles con los atributos de la columna existente. Se devolvió el error por una de las razones siguientes.
Respuesta del usuario: Haga que el atributo especificado sea compatible con la columna existente, elimine la especificación de atributo o especifique un nombre de columna diferente.
sqlcode: -190
sqlstate: 42837
SQL0191N | Se ha producido un error debido a un carácter MBCS fragmentado. |
Explicación: Entre las causas posibles se incluyen:
Usuarios del sistema federado: también la fuente de datos puede detectar esta situación.
Respuesta del usuario:
Usuarios del sistema federado: si los datos son correctos, aísle el problema en la fuente de datos que no puede procesar la petición (consulte la publicación Problem Determination Guide) y examine las restricciones DBCS de esa fuente de datos. Si los datos son aparentemente correctos, póngase en contacto con el servicio técnico de IBM para obtener ayuda.
sqlcode: -191
sqlstate: 22504
SQL0193N | En una sentencia ALTER TABLE, la columna "<nombre-columna>" se ha especificado como NOT NULL y no se ha especificado la cláusula DEFAULT o se ha especificado como DEFAULT NULL. |
Explicación: Cuando se añaden nuevas columnas a una tabla existente, se debe asignar un valor a la nueva columna para todas las filas existentes. Por omisión, se asigna el valor nulo. Sin embargo, puesto que la columna se ha definido como NOT NULL, debe definirse un valor diferente de nulo.
Respuesta del usuario: Elimine la restricción NOT NULL de la columna o proporcione un valor por omisión que no sea nulo para la columna.
sqlcode: -193
sqlstate: 42601
SQL0197N | No se permite un nombre de columna calificado en la cláusula ORDER BY. |
Explicación: La cláusula ORDER BY de una selección completa que incluye un operador de conjunto (UNION, EXCEPT, INTERSECT) no puede tener nombres de columna calificados.
Respuesta del usuario: Asegúrese de que todos los nombres de columnas de la cláusula ORDER BY son no calificados.
sqlcode: -197
sqlstate: 42877
SQL0198N | La serie de sentencias de la sentencia PREPARE o EXECUTE IMMEDIATE está en blanco o vacía. |
Explicación: La variable del sistema principal objeto de la sentencia PREPARE o EXECUTE IMMEDIATE contiene todo blancos o es una serie vacía.
No se ha podido completar la sentencia PREPARE o EXECUTE IMMEDIATE.
Respuesta del usuario: Corrija la lógica del programa para asegurarse de que se suministra una sentencia de SQL válida en el operando de la sentencia PREPARE o EXECUTE IMMEDIATE antes de que se ejecute.
sqlcode: -198
sqlstate: 42617
SQL0199N | La utilización de la palabra reservada "<palabra clave>" después de "<texto>" no es válida. Los símbolos esperados son: "<lista-símbolos>". |
Explicación: Se ha detectado un error de sintaxis en la sentencia de SQL en el punto en que aparece la palabra reservada "<palabra clave>" después de "<texto>". El campo "<texto>" indica los 20 caracteres de la sentencia de SQL que preceden a la palabra reservada. Puede que las cláusulas de la sentencia estén en un orden erróneo.
Como ayuda al programador, se proporciona una lista parcial de símbolos válidos en el campo SQLERRM del SQLCA como "<lista-símbolos>". Esta lista da por supuesto que la sentencia es correcta hasta ese punto.
No se puede procesar la sentencia.
Respuesta del usuario: Revise la sentencia en el área de la palabra clave. Añada dos puntos o un delimitador de SQL, si falta. Compruebe que las cláusulas estén en el orden correcto. Si la palabra reservada identificada en los mensajes se lista como palabra reservada, conviértala en un identificador delimitado.
NOTA: Este error sólo afecta a los releases de DB2 anteriores a la Versión 2.
sqlcode: -199
sqlstate: 42601