Выбор столбца 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" для строки заголовка, чтобы она пропускалась в файле.