Выбор столбца H2 возвращает неправильное имя столбца; Msgst r "Столбец"OUT_ID"не найден; оператор SQL:"

Я использую базу данных H2, версия "H2 1.3.170 (2012-11-30)"

У меня есть следующее содержимое файла с разделителями табуляции:

in:value1:String    out:id:Int  out:description:String
N/A 0   N/A
Forced Available    1   Forced Available
Forced Not Available    2   Forced Not Available

Я использую следующий оператор для создания таблицы:

CREATE TABLE xo_coverage_voip_on_xo_override AS SELECT * FROM CSVREAD('C:\Temp\xo_coverage_voip_on_xo_override.tab', 'in_value_1' || chr(9) || 'out_id' || chr(9) || 'out_description', 'UTF-8', chr(9));

Я пытаюсь использовать созданную таблицу с этим:

SELECT out_id FROM xo_coverage_voip_on_xo_override;

И я получаю эту ошибку:

"Column "OUT_ID" not found; SQL statement:"

Куда я иду не так?

Кроме того, мне бы очень хотелось удалить первую строку из таблицы перед ее вставкой. Однако я не смог заставить работать предложение WHERE.

Любая помощь, которую вы можете предложить, будет принята с благодарностью.

1 ответ

Таким образом, решение заканчивается следующим утверждением:

CREATE TABLE xo_coverage_voip_on_xo_override1(in_value1 varchar, out_id int, out_description varchar)
  AS SELECT * FROM CSVREAD('C:\Temp\xo_coverage_voip_on_xo_override.tab', null, 'UTF-8', chr(9));

Ключ в том, чтобы запрос CSVREAD загружал данные в полностью указанную таблицу. И предоставить "null" для строки заголовка, чтобы она пропускалась в файле.

Другие вопросы по тегам