En Linux, me conecté a DB2 e intenté obtener la factura más antigua. Al usar esta consulta a continuación, muestra un error.SQL0206N "INVOICEDATE" is not valid in the context where it is used.SQLSTATE=42703
db2 "select min(INVOICEDATE) from RHA2";
¿Cómo puedo resolver este error? ¿alguna ayuda?
Gracias de antemano.
Respuesta1
$ db2 "? sql206"
SQL0206N "" no es válido en el contexto donde se utiliza.
Explicación:
Este error puede ocurrir en los siguientes casos:
Para una instrucción INSERT o UPDATE, la columna especificada no es una columna de la tabla o vista que se especificó como objeto de la
inserción o actualización.Para una instrucción SELECT o DELETE, la columna especificada no es una columna de ninguna de las tablas o vistas identificadas en una cláusula FROM de
la instrucción.Para una declaración de asignación, el nombre de referencia no se resuelve con el nombre de una columna o variable.
Al hacer referencia a un campo en una variable de tipo de fila, el nombre de referencia no se resuelve con el nombre de ningún campo en el tipo de fila.
Para una cláusula ORDER BY, la columna especificada es una referencia de columna correlacionada en una subselección, lo cual no está permitido.
Para una instrucción SELECT en un constructor de cursor parametrizado, la referencia a "" no coincide con una columna o variable dentro del alcance. Las variables locales y los parámetros SQL de rutina no se consideran dentro del alcance de los cursores parametrizados.
Para una declaración SQL compuesta independiente (compilada):
La referencia "" no se resuelve en el nombre de una columna o variable local que esté dentro del alcance.
El nombre de condición "" especificado en la declaración SIGNAL no ha sido declarado.
Al hacer referencia a un campo en una variable de tipo de fila, el nombre de referencia no se resuelve con el nombre de ningún campo en el tipo de fila.
Para una instrucción CREATE TRIGGER,CREATE METHOD,CREATE FUNCTION o CREATE PROCEDURE:
La referencia "" no se resuelve con el nombre de una columna, variable local o variable de transición.
La referencia "" se resuelve con el nombre de una variable local que no está disponible en el ámbito actual.
El nombre de condición "" especificado en la declaración SIGNAL no ha sido declarado.
Al hacer referencia a un campo en una variable de tipo de fila, el nombre de referencia no se resuelve con el nombre de ningún campo en el tipo de fila.
Para una declaración CREATE TRIGGER:
Se hace una referencia a una columna de la tabla de asunto sin utilizar un nombre de correlación ANTIGUO o NUEVO.
El lado izquierdo de una asignación en la declaración SET de variable de transición en la acción desencadenada especifica una variable de transición antigua donde solo se admite una nueva variable de transición.
Para una declaración CREATE FUNCTION con una cláusula PREDICATES:
La declaración RETURN de la función SQL hace referencia a una variable que no es un parámetro u otra variable que esté en el alcance de la declaración RETURN.
La cláusula FILTER USING hace referencia a una variable que no es un nombre de parámetro ni un nombre de expresión en la cláusula WHEN.
El objetivo de búsqueda en una regla de explotación de índice no coincide con algún nombre de parámetro de la función que se está creando.
Un argumento de búsqueda en una regla de explotación de índice no coincide ni con el nombre de una expresión en la cláusula EXPRESSION AS ni con el nombre del parámetro de la función que se está creando.
Para una sentencia CREATE INDEX EXTENSION, la cláusula RANGE THROUGH o la cláusula FILTER USING hace referencia a una variable que no es un nombre de parámetro que se puede utilizar en la cláusula.
Para una referencia de variable de cursor parametrizada, una variable SQL local o un parámetro SQL al que se hace referencia en la instrucción de selección utilizada en la
definición de una variable de cursor parametrizada no está disponible en el ámbito actual.Para una referencia de período, el período especificado no se encuentra en ninguna de las tablas o vistas de origen o destino del estado de cuenta.
La declaración no se puede procesar.
Respuesta del usuario:
Verifique que los nombres estén especificados correctamente en la declaración SQL. Para una declaración SELECT, asegúrese de que todas las tablas requeridas estén nombradas en la cláusula FROM. Para una subselección en una cláusula ORDER BY, asegúrese de que no haya referencias de columnas correlacionadas. Si se utiliza un nombre de correlación para una tabla, verifique que las referencias posteriores utilicen el nombre de correlación y no el nombre de la tabla.
Para una declaración CREATE TRIGGER, asegúrese de que solo se especifiquen nuevas variables de transición en el lado izquierdo de las asignaciones en la declaración SET de variable de transición y que cualquier referencia a columnas de la tabla temática tenga un nombre de correlación especificado.
Para una sentencia de SQL compuesto independiente, una sentencia CREATE FUNCTION, CREATE PROCEDURE o CREATE TRIGGER, verifique que las columnas o variables estén disponibles en el ámbito de la sentencia de SQL compuesto actual.
Para una selección completa incrustada en XQuery usando la función db2-fn:sqlquery, una referencia dentro de la selección completa debe ser una de las siguientes: una columna en el contexto de la selección completa, una variable global o un parámetro pasado al nuevo contexto SQL usando un argumento adicional de la función db2-fn:sqlquery.
código sql: -206
estadosql: 42703