SQL0301N | El valor de una variable del sistema principal de las sentencias EXECUTE u OPEN no puede usarse debido a su tipo de datos. |
Explicación: No se puede utilizar una variable del sistema principal tal como está especificada en la sentencia porque su tipo de datos es incompatible en el contexto en que se utiliza.
Este error puede ser el resultado de especificar una variable del sistema principal incorrecta o un valor SQLTYPE incorrecto en un SQLDA en una sentencia EXECUTE o OPEN.
No se puede procesar la sentencia.
Respuesta del usuario: Compruebe que los tipos de datos de todas las variables del sistema principal de la sentencia son compatibles con la forma en que se utilizan.
sqlcode: -301
sqlstate: 07006
SQL0302N | El valor de la variable del sistema principal de las sentencias EXECUTE u OPEN es demasiado grande para la utilización que le corresponde. |
Explicación: Se ha encontrado que el valor de una variable del sistema principal de entrada es demasiado largo para utilizarlo en la sentencia SELECT, VALUES, o con una sentencia preparada. Se ha producido una de las siguientes situaciones:
Este error es el resultado de especificar una variable del sistema principal incorrecta o un valor de SQLLEN incorrecto en el SQLDA de una sentencia EXECUTE u OPEN.
No se puede procesar la sentencia.
Respuesta del usuario: Asegúrese de que el valor de entrada de la variable del sistema principal es de la longitud y del tipo correctos. Si las variables del sistema principal de entrada suministran valores a marcadores de parámetros, haga corresponder los valores con el tipo de datos implícito y la longitud del marcador de parámetros.
Usuarios del sistema federado: en una sesión de paso a través, determine cuál es la fuente de datos causante del error (consulte la guía de determinación de problemas para saber qué procedimientos hay que seguir a fin de identificar la fuente de datos anómala). 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: -302
sqlstate: 22001, 22003
SQL0303N | No puede asignarse ningún valor a una variable del sistema principal en la sentencia SELECT, VALUES o FETCH porque los tipos de datos no son compatibles. |
Explicación: Una sentencia SELECT o VALUES selecciona una variable del sistema principal, pero el tipo de datos de la variable no es compatible con el tipo de datos del elemento correspondiente de la lista SELECT o de la lista VALUES. Los dos han de ser numéricos, de tipo carácter o gráficos. Por ejemplo, si el tipo de datos de la columna es fecha y hora, el tipo de datos de la variable debe ser un carácter con una longitud mínima adecuada.
No se puede procesar la sentencia.
Respuesta del usuario: Compruebe que las definiciones de tabla sean las actuales y que la variable del sistema principal tenga el tipo de datos correcto.
sqlcode: -303
sqlstate: 42806
SQL0304N | No puede asignarse ningún valor a una variable del sistema principal porque el valor no está dentro del rango permitido del tipo de datos de la variable del sistema principal. |
Explicación: La sentencia FETCH, VALUES o SELECT de una lista de variables del sistema principal ha fallado porque la variable del sistema principal no es lo suficientemente grande como para mantener el valor que se ha recuperado.
No se puede procesar la sentencia. No se ha recuperado ningún dato.
Respuesta del usuario: Compruebe que las definiciones de tabla sean las actuales y que la variable del sistema principal tenga el tipo de datos correcto. Para ver los rangos de tipos de datos SQL, consulte el manual Consulta de SQL.
Usuarios del sistema federado: en el caso de los rangos de tipos de datos procedentes de una fuente de datos, consulte la documentación correspondiente a esta fuente de datos.
sqlcode: -304
sqlstate: 22001, 22003
SQL0305N | El valor NULL no se puede asignar a una variable del sistema principal en la sentencia SELECT o FETCH porque no se ha especificado ninguna variable indicadora. |
Explicación: Una operación FETCH o bien una operación incluida SELECT o VALUES ha dado como resultado la recuperación de un valor NULL que se va a insertar en una variable del sistema principal para la cual no se ha proporcionado ninguna variable indicadora. Si una columna puede devolver un valor NULL, hay que suministrar una variable de indicador.
No se puede procesar la sentencia. No se ha recuperado ningún dato.
Respuesta del usuario: Examine la definición de la tabla de objetos FETCH o SELECT o bien los elementos de la lista VALUES. Corrija el programa de modo que proporcione variables indicadoras para todas las variables del sistema principal donde se puedan recuperar los valores NULL procedentes de esas columnas.
sqlcode: -305
sqlstate: 22002
SQL0306N | La variable del sistema principal "<nombre>" no está definida. |
Explicación: La variable del sistema principal "<nombre>" no está declarada en ninguna cláusula DECLARE SECTION.
No se puede procesar la sentencia.
Respuesta del usuario: Asegúrese de que la variable del sistema principal está declarada y su nombre correctamente escrito.
SQL0307N | La variable del sistema principal "<nombre>" ya está definida. |
Explicación: La variable del sistema principal "<nombre>" ya se ha declarado en DECLARE SECTION.
Se ignora la definición. Se utiliza la definición anterior.
Respuesta del usuario: Asegúrese de que el nombre de la variable del sistema principal está correctamente escrito y de que está definido solo una vez en cada programa.
SQL0308N | Se ha llegado al límite del número de variables del sistema principal. |
Explicación: El número máximo de variables del sistema principal depende de cuántas quepan en la columna HOST_VARS de SYSPLAN. Se ha alcanzado dicho límite.
Se ignoran las restantes declaraciones de variables.
Respuesta del usuario: Simplifique el programa, divida el programa en programas menores separados o ambos.
SQL0309N | El valor de una variable del sistema principal en la sentencia OPEN es NULL, pero la utilización que le corresponde no puede ser NULL. |
Explicación: Se ha encontrado un valor NULL de una variable del sistema principal de entrada, pero su correspondiente utilización en la sentencia SELECT, VALUES o en la sentencia preparada no ha especificado una variable indicadora.
No se puede procesar la sentencia.
Respuesta del usuario: Asegúrese de que realmente necesita una cláusula USING. Si no, asegúrese de que se especifica una variable de indicador únicamente si es necesario.
sqlcode: -309
sqlstate: 07002
SQL0310N | La sentencia de SQL contiene demasiadas variables del sistema principal. |
Explicación: En la sentencia se ha superado el número máximo permitido de variables del sistema principal.
No se puede procesar la sentencia.
Respuesta del usuario: Asegúrese de que la sentencia contenga menos variables del sistema principal o que sea menos compleja.
SQL0311N | La longitud del número de variable "<número-var>" del sistema principal de la serie es negativa o mayor que el valor máximo. |
Explicación: Cuando se evaluó, la especificación de longitud de la variable del sistema principal de la serie, cuya entrada en el SQLDA está indicada mediante <número-var> (basado en 1), era negativo o mayor que el número máximo definido para esa variable del sistema principal.
No se puede procesar la sentencia.
Respuesta del usuario: Corrija el programa para asegurarse de que las longitudes de todas las variables del sistema principal de la serie no son negativas ni son mayores que la longitud máxima permitida.
sqlcode: -311
sqlstate: 22501
SQL0312N | La variable del sistema principal "<nombre-sistema-principal>" se utiliza en una sentencia de SQL dinámica, una definición de vista o una definición de activador. |
Explicación: La variable del sistema principal "<nombre-sistema-principal>" aparece en la sentencia de SQL, pero no se permiten variables del sistema principal en las sentencias de SQL dinámicas, en la sentencia SELECT de una definición de vista o en la acción activada de una definición de activador.
No se puede procesar la sentencia.
Respuesta del usuario: Utilice marcadores de parámetros (?) en lugar de variables del sistema principal para sentencias de SQL dinámicas. No utilice variables del sistema principal ni marcadores de parámetros en definiciones de vista o de activador.
sqlcode: -312
sqlstate: 42618
SQL0313N | El número de variables del sistema principal de las sentencias EXECUTE u OPEN no es igual al número de valores de entrada necesarios. |
Explicación: El número de variables del sistema principal especificado en la sentencia EXECUTE o OPEN no es el mismo que el número de variables del sistema principal o los marcadores de parámetros (?) que aparecen en la sentencia de SQL.
No se puede procesar la sentencia.
Respuesta del usuario: Corrija el programa de aplicación de modo que el número de variables del sistema principal especificadas en la sentencia EXECUTE o OPEN y el número de variables del sistema principal o de marcadores de parámetros de la sentencia de SQL coincidan.
sqlcode: -313
sqlstate: 07001, 07004
SQL0314N | La variable de sistema principal "<nombre>" no se ha declarado correctamente. |
Explicación: La variable del sistema principal "<nombre>" no está correctamente declarada por una de las siguientes razones:
La variable sigue sin estar definida.
Respuesta del usuario: Asegúrese de que especifica correctamente sólo las declaraciones a las que el gestor de bases de datos da soporte.
SQL0315N | Se ha declarado de forma incorrecta la variable del sistema principal. |
Explicación: La variable del sistema principal no está correctamente declarada por una de las razones siguientes:
La variable sigue sin estar definida.
Respuesta del usuario: Asegúrese de que especifica correctamente sólo las declaraciones a las que el gestor de bases de datos da soporte.
SQL0317N | No se ha encontrado ninguna END DECLARE SECTION después de una BEGIN DECLARE SECTION. |
Explicación: Se ha alcanzado el final de la entrada durante el proceso de un DECLARE SECTION.
Se termina la precompilación.
Respuesta del usuario: Añada una sentencia END DECLARE SECTION para finalizar un DECLARE SECTION.
SQL0318N | Se ha encontrado END DECLARE SECTION sin BEGIN DECLARE SECTION previa. |
Explicación: Se ha encontrado una sentencia END DECLARE SECTION, pero antes no había ninguna BEGIN DECLARE SECTION.
No se puede procesar la sentencia.
Respuesta del usuario: Entre un BEGIN DECLARE SECTION antes de END DECLARE SECTION.
SQL0324N | El "<uso>" de la variable "<nombre>" es de tipo erróneo. |
Explicación: La variable INDICATOR "<nombre>" no es un entero pequeño o la variable STATEMENT "<nombre>" no es de tipo de datos de carácter.
No se puede procesar la sentencia.
Respuesta del usuario: Asegúrese de que la variable es del tipo correcto y de que está correctamente especificada.
SQL0332N | No hay ninguna conversión disponible de la página de códigos fuente "<página códigos>" a la página de códigos destino "<página códigos>". Código de razón "<código-razón>". |
Explicación: No se da soporte a ningún tipo de conversión de datos de la página de códigos fuente a la página de códigos destino. Se puede producir este error bajo las siguientes condiciones:
Los códigos de razón son los siguientes:
Respuesta del usuario: Las soluciones posibles son:
Los usuarios de AS/400 han de tener presente que no se da soporte a AS/400 CCSID 65535. Los datos de AS/400 codificados mediante CCSID 65535 se han de convertir a un CCSID soportado para poder a los mismos utilizando DB2 Connect.
Usuarios del sistema federado: Para conocer el soporte de páginas de códigos de fuente de datos, consulte la publicación Installation and Configuration Supplement.
sqlcode: -332
sqlstate: 57017
SQL0334N | Se ha producido un desbordamiento mientras se convertía de una página de códigos "<fuente>" a la página de códigos "<destino>". El tamaño máximo del área de destino era "<long-máx>". La longitud de la serie fuente era "<long-fuente>" y la representación hexadecimal era "<serie>". |
Explicación: Durante la ejecución de la sentencia de SQL, la conversión de una página de códigos ha dado como resultado una serie que es más larga que el tamaño de longitud máxima del objeto destino.
Respuesta del usuario: Modifique de la siguiente forma los datos para evitar la condición de desbordamiento, según las circunstancias:
Nota: | No se producirá la promoción automática de los tipos de datos de series de caracteres o de gráficos como parte de la conversión de caracteres. Si la longitud de la serie resultante sobrepasa el límite máximo del tipo de datos de la serie fuente, significa que se ha producido un desbordamiento. Para corregir esta situación, modifique el tipo de datos de la serie fuente o bien utilice otro tipo de datos de forma que se permita el incremento de la longitud de la serie debido a la conversión. |
sqlstate: 22524
SQL0338N | Una cláusula ON asociada con el operador JOIN no es válida. |
Explicación: Hay una cláusula ON asociada con un operador JOIN que no es válida por una de las razones siguientes.
No se puede procesar la sentencia.
Respuesta del usuario: Corrija la cláusula ON para que haga referencia a las columnas adecuadas o bien suprima las subconsultas o selecciones completas escalares. Elimine cualquier operación de no referencia, funciones SQL o métodos SQL de la cláusula ON.
Si se utiliza el enlace exterior completo, asegúrese de que todas las funciones de la cláusula ON sean determinantes y no tengan ninguna acción externa.
sqlcode: -338
sqlstate: 42972
SQL0340N | La expresión de tabla común "<nombre>" tiene el mismo identificador que otra aparición de una definición de expresión de tabla común dentro de la misma sentencia. |
Explicación: El nombre de expresión de tabla común "<nombre>" se utiliza en la definición de más de una expresión de tabla común en la sentencia. El nombre que se emplea para describir una expresión de tabla común debe ser único dentro de la misma sentencia.
No se puede procesar la sentencia.
Respuesta del usuario: Cambie el nombre de una de las expresiones de tabla común.
sqlcode: -340
sqlstate: 42726
SQL0341N | Existe una referencia cíclica entre las expresiones de tablas comunes "<nombre1>" y "<nombre2>". |
Explicación: La expresión de tabla común "<nombre1>" hace referencia a "<nombre2>" en una cláusula FROM dentro de su selección completa y "<nombre2>" hace referencia a "<nombre1>" en una cláusula FROM dentro de sus selecciones completas. No se permite este tipo de referencias cíclicas.
No se puede procesar la sentencia.
Respuesta del usuario: Elimine la referencia cíclica de una de las expresiones de tabla común.
sqlcode: -341
sqlstate: 42835
SQL0342N | La expresión de tabla común "<nombre>" no se puede utilizar SELECT DISTINCT y debe utilizar UNION ALL porque es repetitiva. |
Explicación: Hay dos explicaciones posibles:
No se puede procesar la sentencia.
Respuesta del usuario: Elimine la palabra clave DISTINCT de la expresión de tabla común, añada la palabra clave ALL después de UNION o elimine la referencia repetitiva dentro de la expresión de tabla común.
sqlcode: -342
sqlstate: 42925
SQL0343N | Los nombres de columna son necesarios para la expresión de tabla común repetitiva "<nombre>". |
Explicación: La expresión de tabla común repetitiva "<nombre>" ha de incluir la especificación de los nombres de columna después del identificador de la expresión de tabla común.
No se puede procesar la sentencia.
Respuesta del usuario: Añada los nombres de columnas después del identificador de la expresión de tabla común.
sqlcode: -343
sqlstate: 42908
SQL0344N | La expresión de tabla común repetitiva "<nombre>" presenta discrepancia en los tipos de datos, longitudes o páginas de códigos para la columna "<nombre-columna>". |
Explicación: La expresión de tabla común repetitiva "<nombre>" presenta una columna "<nombre-columna>" a la que se hace referencia en la selección completa iterativa de la expresión de tabla común. El tipo de datos, la longitud y la página de código se definen en función de la selección completa de inicialización para esta columna. El resultado de la expresión para la columna "<nombre-columna>" de la selección completa iterativa presenta un tipo de datos, longitud o página de códigos diferente que puede dar como resultado un error al asignar el valor para la columna.
No se puede procesar la sentencia.
Respuesta del usuario: Corrija la columna que se utiliza en las selecciones completas de la expresión de tabla común repetitiva de modo que la columna de inicialización coincida con las columnas iterativas.
sqlcode: -344
sqlstate: 42825
SQL0345N | La selección completa de la expresión de tabla común repetitiva "<nombre>" ha de ser la unión (UNION) de dos o más selecciones completas y no puede incluir funciones de columna, la cláusula GROUP BY, la cláusula HAVING o una unión explícita que incluya una cláusula ON. |
Explicación: La expresión de tabla común "<nombre>" incluye una referencia a si misma y por consiguiente:
No se puede procesar la sentencia.
Respuesta del usuario: Modifique la expresión de tabla común de una de las siguientes formas:
sqlcode: -345
sqlstate: 42836
SQL0346N | Se produce una referencia no válida a una expresión de tabla común "<nombre>" en la primera selección completa, a modo de segunda aparición en la misma cláusula FROM o en la cláusula FROM de una subconsulta. |
Explicación: La expresión de tabla común "<nombre>" incluye una referencia no válida a si misma tal como se describe en una de las siguientes situaciones:
No se puede procesar la sentencia.
Respuesta del usuario: Cambie uno de los siguientes elementos:
sqlcode: -346
sqlstate: 42836
SQL0347W | La expresión de tabla común repetitiva "<nombre>" puede contener un bucle infinito. |
Explicación: Tal vez la expresión de tabla común repetitiva llamada "<nombre>" no esté completa. Este aviso aparece porque no se encuentra una sintaxis específica como parte de la porción repetitiva de la expresión de tabla común repetitiva. La sintaxis esperada incluye:
La ausencia de esta sintaxis en la expresión de tabla común repetitiva puede dar como resultado un bucle infinito. De todas formas, los datos u otras características de la expresión de tabla común repetitiva pueden hacer que la sentencia se complete de forma satisfactoria.
Respuesta del usuario: Para evitar un bucle infinito, incluya la sintaxis esperada tal como se ha descrito.
sqlcode: +347
sqlstate: 01605
SQL0350N | LOB, DATALINK o una columna de tipo estructurado "<nombre-columna>" no se puede utilizar en un índice, en una clave, en una restricción de unicidad, en una columna generada o en una tabla temporal declarada. |
Explicación: Incluso en los casos en que no violara el tamaño máximo de un índice, una clave o una restricción de unicidad, no se puede utilizar una columna de LOB, una columna de DATALINK o una columna de tipo estructurado en un índice, en una clave o en una restricción de unicidad. Estos tipos de datos tampoco se soportan como tipos de columna de una columna generado o de una tabla temporal declarada. Esta restricción incluye el uso de una columna de tipo diferenciado basada en LOB o DATALINK.
No se puede procesar la sentencia.
Respuesta del usuario: Elimine la columna de tipo estructurado, LOB o DATALINK de la especificación del índice, la clave, la restricción de unicidad, la columna generada o la tabla temporal declarada. Puede definirse un índice definido en una columna de tipo estructurado utilizando una extensión de índices.
sqlcode: -350
sqlstate: 42962
SQL0351N | Se ha encontrado un SQLTYPE no soportado en la posición "<número-posición>" del SQLDA de salida (lista de selección). |
Explicación: El elemento de SQLDA en la posición "<número-posición>" es para un tipo de datos al cual el peticionario de la aplicación o el servidor de la aplicación no da soporte. Si la aplicación no utiliza directamente SQLDA, "<número-posición>" podría representar la posición de un elemento de la lista de selección o un parámetro de una sentencia CALL.
No se puede procesar la sentencia.
Respuesta del usuario: Cambie la sentencia de forma que se excluya el tipo de datos no soportado. En una sentencia de selección, suprima los nombres de las columnas en la lista de selección con el tipo de datos no soportado o bien utilice una función de difusión en la consulta para difundir la columna a un tipo de datos no soportado.
sqlcode: -351
sqlstate: 56084
SQL0352N | Se ha encontrado un SQLTYPE no soportado en la posición "<número-posición>" de la lista de entrada (SQLDA). |
Explicación: El elemento de SQLDA en la posición "<número-posición>" es para un tipo de datos al cual el peticionario de la aplicación o el servidor de la aplicación no da soporte. Si la aplicación no utiliza directamente el SQLDA, "<número-posición>" podría representar la posición de una variable del sistema principal de entrada, un marcador de parámetro o un parámetro de una sentencia CALL.
No se puede procesar la sentencia.
Respuesta del usuario: Cambie la sentencia de forma que se excluya el tipo de datos no soportado.
sqlcode: -352
sqlstate: 56084
SQL0355N | La columna "<nombre-columna>", tal como está definida, es demasiado larga para poderse registrar. |
Explicación: Se pueden crear tipos de datos de objetos grandes (LOB) (BLOB, CLOB y DBCLOB) en tamaños de hasta 2 gigabytes (2147483647 bytes). Se permite la anotación cronológica de valores de datos sólo sobre objetos de tamaño menor o igual a 1 gigabyte (1073741823 bytes). Por lo tanto, no se puede anotar cronológicamente objetos de tamaño superior a 1 gigabyte.
Respuesta del usuario: Indique explícitamente que no es necesario anotar cronológicamente los datos, especificando la frase NOT LOGGED durante la creación de columna, o reduzca el tamaño máximo de la columna a 1 gigabyte o menos.
sqlcode: -355
sqlstate: 42993
SQL0357N | DB2 Data Links Manager "<nombre>" no está disponible actualmente. Código de razón = "<código-razón>". |
Explicación:
La sentencia necesita procesarse en DB2 Data Links Manager "<nombre>". Actualmente, DB2 Data Links Manager no está disponible tal como se indica en el código de razón.
Respuesta del usuario: La acción depende del código de razón como se indica a continuación.
sqlstate: 57050
SQL0358N | No se puede acceder a un archivo al que hace referencia un valor de DATALINK. Código de razón = "<código-razón>". |
Explicación: No se ha podido asignar un valor de DATALINK. Los códigos de razón posibles son los siguientes:
Respuesta del usuario: La acción se basa en el código de razón de la manera siguiente.
sqlstate: 428D1
SQL0359N | El rango de los valores para la columna de identidad está agotado. |
Explicación: DB2 intentó generar un valor para una columna de identidad, sin embargo, todos los valores permitidos para la columna de identidad ya se han asignado.
No se puede procesar la sentencia.
Respuesta del usuario: Redefina la tabla con un rango de valores mayor para la columna de identidad. Para poder hacerlo, descarte la tabla existente. Vuelva a crear la tabla con un tipo de datos diferente para la columna de identidad y especifique un tipo de datos que tenga un rango de valores mayor que el tipo de datos actual para la columna de identidad.
sqlcode: -359
sqlstate: 23522
SQL0360W | Tal vez los valores de DATALINK no sean válidos porque la tabla "<nombre-tabla>" está en estado Pendiente de Reconciliación de Datalink (DRP) o Reconciliación de Datalink no posible (DRNP). |
Explicación: Tal vez los valores de DATALINK de la tabla "<nombre-tabla>" no sean válidos porque la tabla está en estado Pendiente de reconciliación de Datalink (DRP) o Reconciliación de Datalink no posible (DRNP). Mientras está en cualquiera de estos estados, no se garantiza el control de los archivos en DB2 Data Links Manager.
Continúa el proceso de la sentencia.
Respuesta del usuario: Consulte la publicación Administration Guide para obtener información sobre los estados Pendiente de conciliación de Datalink (DRP) y Conciliación de Datalink no posible (DRNP) para realizar la acción adecuada.
sqlcode: +360
sqlstate: 01627
SQL0368N | DB2 Data Links Manager "<nombre>" no está registrado en la base de datos. |
Explicación: Existe un valor de DATALINK que hace referencia al DB2 Data Links Manager "<nombre>" que no está registrado en la base de datos.
No se puede procesar la sentencia.
Respuesta del usuario: Póngase en contacto con el administrador de la base de datos para determinar por qué DB2 Data Links Manager ya no está registrado.
sqlcode: -0368
sqlstate: 55022
SQL0370N | El parámetro de la posición "<n>" debe renombrarse en la sentencia CREATE FUNCTION para la función LANGUAGE SQL "<nombre>". |
Explicación: Todos los parámetros de las funciones que se definen con LANGUAGE SQL han de tener un nombre-parámetro para cada parámetro.
No se puede procesar la sentencia.
Respuesta del usuario: Incluya un nombre de parámetro para cada parámetro de la función.
sqlcode: -370
sqlstate: 42601
SQL0372N | Sólo se permite una columna IDENTITY o ROWID en una tabla. |
Explicación: Se ha intentado hacer alguna de las acciones siguientes:
No se puede procesar la sentencia.
Respuesta del usuario: Para una sentencia CREATE TABLE, seleccione solamente una columna para tener el tipo de datos ROWID o el atributo IDENTITY. Para una sentencia ALTER TABLE, una columna ROWID o una columna IDENTITY que ya exista en la tabla. No intente añadir otra columna con tipos de datos ROWID o con el atributo IDENTITY a la tabla.
sqlcode: -372
sqlstate: 428C1
SQL0373N | La cláusula DEFAULT no se puede especificar para la columna GENERATED "<nombre-columna>". |
Explicación: Puede que no se especifique una cláusula DEFAULT para una columna que se ha identificado como una columna GENERATED.
No se puede procesar la sentencia.
Respuesta del usuario: Elimine la cláusula DEFAULT y vuelva a someter la sentencia.
sqlcode: -373
sqlstate: 42623
SQL0374N | La cláusula "<cláusula>" no se ha especificado en la sentencia CREATE FUNCTION para la función LANGUAGE SQL "<nombre función>", pero un examen del cuerpo de la función revela que debería especificarse. |
Explicación: Es posible que las siguientes situaciones sean la causa de este error.
Debe especificarse NOT DETERMINISTIC si se aplica cualquiera de las siguientes condiciones dentro del cuerpo de la función:
Debe especificarse READS SQL DATA si el cuerpo de la función definida con LANGUAGE SQL contiene una subselección o si llama a una función que puede leer datos de sql.
Debe especificarse EXTERNAL ACTION si el cuerpo de la función definida con LANGUAGE SQL llama a una función que tiene la propiedad EXTERNAL ACTION.
No se puede procesar la sentencia.
Respuesta del usuario: Especifique la cláusula o cambie el cuerpo de la función.
sqlcode: -374
sqlstate: 428C2
SQL0385W | La asignación a una variable SQLSTATE o SQLCODE en una rutina SQL puede que sea sobregrabada y que no active ningún manejador. |
Explicación: La rutina SQL incluye como mínimo una sentencia que asigna un valor a las variables especiales SQLSTATE o SQLCODE. Estas variables tienen valores asignados por el proceso de sentencias de SQL en la rutina SQL. El valor asignado puede, por lo tanto, estar sobregrabado como resultado del proceso de la sentencia de SQL. Asimismo, la asignación de un valor a la variable especial SQLSTATE no activa ningún manejador.
La definición de la rutina se ha procesado satisfactoriamente.
Respuesta del usuario: No se requiere ninguna acción. Elimine cualquier asignación a la variable especial SQLSTATE o SQLCODE para evitar el aviso.
sqlcode: +385
sqlstate: 01643
SQL0388N | En una sentencia CREATE CAST para la función "<nombre-función>", tanto la fuente "<nombre-tipo-datos-fuente>" como el destino "<nombre-tipo-datos-destino>" son tipos que están incorporados o son del mismo tipo. |
Explicación: Uno de los tipos de datos debe ser un tipo definido por el usuario. El tipo de fuente y el tipo de destino no pueden ser el mismo tipo de datos.
No se puede procesar la sentencia.
Respuesta del usuario: Cambie el tipo de datos de la fuente o del destino.
sqlcode: -388
sqlstate: 428DF
SQL0389N | La instancia de función específica "<nombre específico>" identificada en una sentencia CREATE CAST tiene más de un parámetro, tiene un parámetro que no coincide con el tipo de datos fuente o devuelve un tipo de datos que no coincide con el destino. |
Explicación: Una función de difusión:
No se puede procesar la sentencia.
Respuesta del usuario: Elija una instancia de función diferente, cambie el tipo de datos fuente o cambie el tipo de datos destino.
sqlcode: -389
sqlstate: 428DG
SQL0390N | La función "<nombre-función>" se resolvió en la función específica "<nombre-específico>" que no es válida en el contexto en que se utiliza. |
Explicación: Una función se resolvió en una función específica que no es válida en el contexto en que se utiliza. Si "<nombre-específico>" es una serie vacía, entonces la función se resolvió en la función incorporada identificada por "<nombre-función>". Algunas de las posibles situaciones incluyen:
No se puede procesar la sentencia.
Respuesta del usuario: Compruebe que se han especificado el nombre de función y los argumentos correctos y que la vía de acceso actual incluye el esquema donde está definida la función correcta. Tal vez necesite cambiar el nombre de función, la vía de acceso actual (utilizando SET CURRENT FUNCTION PATH o la opción de vinculación FUNCPATH), o cambie el contexto en el que se utiliza la función.
sqlcode: -390
sqlstate: 42887
SQL0391N | Uso no válido de la función "<nombre_función>" basada en la fila. |
Explicación: La sentencia utiliza una función "<nombre_función>" basada en la fila que no se puede emplear por una de las razones siguientes:
No se puede procesar la sentencia.
Respuesta del usuario: Elimine "<nombre-función>" del contexto en el que no está permitido.
sqlcode: -391
sqlstate: 42881
SQL0392N | El valor de SQLDA proporcionado para el cursor "<cursor>" se ha modificado respecto a la recuperación anterior. |
Explicación: La aplicación se ejecuta con normas de DB2 y ha solicitado que se devuelvan los datos LOB en una sentencia FETCH y como localizador de otra sentencia FETCH. Esto no está permitido.
Respuesta del usuario: No se puede ejecutar la sentencia.
No utilice las normas de DB2 o bien realice un cambio en la aplicación de manera que el código de tipo de datos no pase de LOB a localizador (o viceversa) en el SQLDA entre las recuperaciones sucesivas.
sqlcode: -392
sqlstate: 42855