В Linux я подключился к DB2 и пытаюсь получить самый старый счет-фактуру. При использовании этого запроса ниже выдается ошибкаSQL0206N "INVOICEDATE" is not valid in the context where it is used.SQLSTATE=42703
db2 "select min(INVOICEDATE) from RHA2";
Как мне исправить эту ошибку? Есть ли какая-нибудь помощь?
Заранее спасибо.
решение1
$ db2 "? sql206"
SQL0206N "" недопустимо в контексте, в котором оно используется.
Объяснение:
Эта ошибка может возникнуть в следующих случаях:
Для оператора INSERT или UPDATE указанный столбец не является столбцом таблицы или представления, указанного в качестве объекта вставки
или обновления.Для оператора SELECT или DELETE указанный столбец не является столбцом ни одной из таблиц или представлений, указанных в предложении FROM в
операторе.Для оператора присваивания имя ссылки не преобразуется в имя столбца или переменной.
При ссылке на поле в переменной типа строки имя ссылки не разрешается в имя какого-либо поля в типе строки.
Для предложения ORDER BY указанный столбец является ссылкой на коррелированный столбец в подвыборке, что не допускается.
Для оператора SELECT в конструкторе параметризованного курсора ссылка на "" не соответствует столбцу или переменной в области действия. Локальные переменные и параметры SQL-программ не рассматриваются в области действия параметризованных курсоров.
Для отдельного составного SQL-выражения (скомпилированного):
Ссылка "" не разрешается в имя столбца или локальной переменной, находящейся в области действия.
Имя условия "", указанное в операторе SIGNAL, не было объявлено.
При ссылке на поле в переменной типа строки имя ссылки не разрешается в имя какого-либо поля в типе строки.
Для операторов CREATE TRIGGER, CREATE METHOD, CREATE FUNCTION или CREATE PROCEDURE:
Ссылка "" не разрешается в имя столбца, локальной переменной или переходной переменной.
Ссылка "" разрешается в имя локальной переменной, которая недоступна в текущей области действия.
Имя условия "", указанное в операторе SIGNAL, не было объявлено.
При ссылке на поле в переменной типа строки имя ссылки не разрешается в имя какого-либо поля в типе строки.
Для оператора CREATE TRIGGER:
Ссылка делается на столбец предметной таблицы без использования СТАРОГО или НОВОГО имени корреляции.
Левая часть назначения в операторе SET transition-variable в вызванном действии указывает старую переходную переменную, тогда как поддерживается только новая переходная переменная.
Для оператора CREATE FUNCTION с предложением PREDICATES:
Оператор RETURN функции SQL ссылается на переменную, которая не является параметром или другой переменной, находящейся в области действия оператора RETURN.
Предложение FILTER USING ссылается на переменную, которая не является именем параметра или именем выражения в предложении WHEN.
Цель поиска в правиле эксплуатации индекса не соответствует имени некоторого параметра создаваемой функции.
Аргумент поиска в правиле использования индекса не соответствует ни имени выражения в предложении EXPRESSION AS, ни имени параметра создаваемой функции.
Для оператора CREATE INDEX EXTENSION предложение RANGE THROUGH или предложение FILTER USING ссылается на переменную, которая не является именем параметра, которое можно использовать в предложении.
Для ссылки на параметризованную курсорную переменную локальная переменная SQL или параметр SQL, на которые ссылается оператор select, используемый в
определении параметризованной курсорной переменной, недоступен в текущей области действия.Для ссылки на период указанный период отсутствует ни в одной из исходных или целевых таблиц или представлений выписки.
Заявление не может быть обработано.
Ответ пользователя:
Проверьте, что имена указаны правильно в операторе SQL. Для оператора SELECT убедитесь, что все требуемые таблицы названы в предложении FROM. Для подвыборки в предложении ORDER BY убедитесь, что нет ссылок на коррелированные столбцы. Если для таблицы используется имя корреляции, проверьте, что последующие ссылки используют имя корреляции, а не имя таблицы.
Для оператора CREATE TRIGGER убедитесь, что в левой части назначений в операторе SET transition-variable указаны только новые переменные перехода, а для всех ссылок на столбцы целевой таблицы указано имя корреляции.
Для отдельного составного оператора SQL, оператора CREATE FUNCTION, CREATE PROCEDURE или CREATE TRIGGER убедитесь, что столбцы или переменные доступны в области действия текущего составного оператора SQL.
Для полной выборки, встроенной в XQuery с использованием функции db2-fn:sqlquery, ссылка внутри полной выборки должна быть одной из следующих: столбец в контексте полной выборки, глобальная переменная или параметр, переданный в новый контекст SQL с использованием дополнительного аргумента функции db2-fn:sqlquery.
SQL-код: -206
sqlstate: 42703