0

我正在使用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 子句起作用。

您能提供的任何帮助将不胜感激。

4

1 回答 1

0

因此,解决方案最终成为以下语句:

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”,以便在文件中跳过它。

于 2013-02-05T15:02:40.753 回答