DB2: Como resolver o erro "SQL0206N "INVOICEDATE" não é válido no contexto onde é usado.SQLSTATE = 42703"

DB2: Como resolver o erro "SQL0206N "INVOICEDATE" não é válido no contexto onde é usado.SQLSTATE = 42703"

No Linux eu me conectei ao DB2 e tentei pegar a fatura mais antiga. ao usar esta consulta abaixo, mostra um erroSQL0206N "INVOICEDATE" is not valid in the context where it is used.SQLSTATE=42703

db2 "select min(INVOICEDATE) from RHA2";

Como posso resolver esse erro. qualquer ajuda?

Desde já, obrigado.

Responder1

$db2"?sql206"

SQL0206N "" não é válido no contexto onde é utilizado.

Explicação:

Este erro pode ocorrer nos seguintes casos:

  • Para uma instrução INSERT ou UPDATE, a coluna especificada não é uma coluna da tabela ou visualização que foi especificada como o objeto da
    inserção ou atualização.

  • Para uma instrução SELECT ou DELETE, a coluna especificada não é uma coluna de nenhuma das tabelas ou visualizações identificadas em uma cláusula FROM da
    instrução.

  • Para uma instrução de atribuição, o nome de referência não é resolvido para o nome de uma coluna ou variável.

  • Ao fazer referência a um campo em uma variável de tipo de linha, o nome de referência não é resolvido para o nome de nenhum campo no tipo de linha.

  • Para uma cláusula ORDER BY, a coluna especificada é uma referência de coluna correlacionada em uma subseleção, o que não é permitido.

  • Para uma instrução SELECT em um construtor de cursor parametrizado, a referência a "" não corresponde a uma coluna ou variável no escopo. Variáveis ​​locais e parâmetros SQL de rotina não são considerados no escopo de cursores parametrizados.

  • Para uma instrução SQL composta independente (compilada):

    • A referência "" não resolve o nome de uma coluna ou variável local que está no escopo.

    • O nome da condição "" especificado na instrução SIGNAL não foi declarado.

    • Ao fazer referência a um campo em uma variável de tipo de linha, o nome de referência não é resolvido para o nome de nenhum campo no tipo de linha.

  • Para uma instrução CREATE TRIGGER,CREATE METHOD,CREATE FUNCTION ou CREATE PROCEDURE:

    • A referência "" não resolve o nome de uma coluna, variável local ou variável de transição.

    • A referência "" resolve o nome de uma variável local que não está disponível no escopo atual.

    • O nome da condição "" especificado na instrução SIGNAL não foi declarado.

    • Ao fazer referência a um campo em uma variável de tipo de linha, o nome de referência não é resolvido para o nome de nenhum campo no tipo de linha.

  • Para uma instrução CREATE TRIGGER:

    • Uma referência é feita a uma coluna da tabela de assunto sem usar um nome de correlação ANTIGO ou NOVO.

    • O lado esquerdo de uma atribuição na instrução SET de variável de transição na ação acionada especifica uma variável de transição antiga onde apenas uma nova variável de transição é suportada.

  • Para uma instrução CREATE FUNCTION com uma cláusula PREDICATES:

    • A instrução RETURN da função SQL faz referência a uma variável que não é um parâmetro ou outra variável que esteja no escopo da instrução RETURN.

    • A cláusula FILTER USING faz referência a uma variável que não é um nome de parâmetro ou de expressão na cláusula WHEN.

    • O alvo de pesquisa em uma regra de exploração de índice não corresponde a algum nome de parâmetro da função que está sendo criada.

    • Um argumento de pesquisa em uma regra de exploração de índice não corresponde a um nome de expressão na cláusula EXPRESSION AS nem a um nome de parâmetro da função que está sendo criada.

  • Para uma instrução CREATE INDEX EXTENSION, a cláusula RANGE THROUGH ou a cláusula FILTER USING faz referência a uma variável que não é um nome de parâmetro que pode ser usado na cláusula.

  • Para uma referência de variável de cursor parametrizada, uma variável SQL local ou parâmetro SQL referenciado na instrução select usada na
    definição de uma variável de cursor parametrizada não está disponível no escopo atual.

  • Para uma referência de período, o período especificado não está em nenhuma tabela ou visualização de origem ou destino da instrução.

A declaração não pode ser processada.

Resposta do usuário:

Verifique se os nomes estão especificados corretamente na instrução SQL. Para uma instrução SELECT, certifique-se de que todas as tabelas necessárias sejam nomeadas na cláusula FROM. Para uma subseleção em uma cláusula ORDER BY, certifique-se de que não haja referências de colunas correlacionadas. Se um nome de correlação for usado para uma tabela, verifique se as referências subsequentes usam o nome da correlação e não o nome da tabela.

Para uma instrução CREATE TRIGGER, certifique-se de que apenas novas variáveis ​​de transição sejam especificadas no lado esquerdo das atribuições na instrução SET de variável de transição e que qualquer referência a colunas da tabela de assunto tenha um nome de correlação especificado.

Para uma instrução SQL composta independente, instrução CREATE FUNCTION, CREATE PROCEDURE ou CREATE TRIGGER, verifique se as colunas ou variáveis ​​estão disponíveis no escopo da instrução SQL composta atual.

Para uma seleção completa incorporada em XQuery usando a função db2-fn:sqlquery, uma referência dentro da seleção completa deve ser uma das seguintes: uma coluna no contexto da seleção completa, uma variável global ou um parâmetro passado para o novo contexto SQL usando um argumento adicional da função db2-fn:sqlquery.

códigosql: -206

estadosql: 42703

informação relacionada