可以指定大量装载选项,这些选项告诉 SAP IQ 如何解释和处理输入文件,以及发生错误时如何处理。
您可以按任意顺序指定装载选项。
显示双引号的装载
此示例使用按如下方式定义的表:
CREATE TABLE t1 (c1 INT, c2 VARCHAR(20), c3 VARCHAR(20))该表包含以下输入数据:
1, apple , fruit1 ,
2, "banana" , "fruit2",
3, " pear ", " fruit3 ",
执行此查询以显示装载此数据的结果:
SELECT c1, c2, c3, LENGTH(c2), LENGTH(c3) FROM t1利用在执行 LOAD TABLE 命令期间所使用的 QUOTES 和 STRIP 选项的值,下表显示查询的结果,并将每个结果用尖括号括起来:
LOAD TABLE 选项SELECT c1, c2, c3, LENGTH(c2), LENGTH(c3) FROM t1 的结果QUOTESSTRIPc1c2c3length(c2)length(c3)ONRTRIM[1][apple][fruit1][5][6][2][banana][fruit2][6][6][3][ pear ][fruit3 ][6][8]ONOFF[1][apple ][fruit1 ][6][7][2][banana][fruit2][6][6][3][ pear ][ fruit3 ][6][8]OFFRTRIM[1][ apple][ fruit1][6][7][2][ "banana"][ "fruit2"][9][9][3][ " pear " ][ " fruit3 " ][9][11]OFFOFF[1][ apple ][ fruit1 ][7][8][2][ "banana" ][ "fruit2"][10][9][3][ " pear "][ " fruit3 "][9][11] 结果说明:
ON 和 STRIP RTRIM 时,会剪裁 c2 行 1 的前导空格和尾随空格。
ON 和 STRIP OFF 时,仅会剪裁 c2 行 1 的前导空格。
ON 和 STRIP RTRIM 时,不会剪裁 c2 和 c3 行 3 引号中的前导空格和尾随空格。
(Windows) 跳过指定字段的装载
LOAD TABLE nn
(l_orderkey,
l_quantity ASCII(PREFIX 2),
FILLER(2),
FROM 'C:\\iq\archive\\mill.txt'
BYTE ORDER LOW
(Windows) 限制插入行数的装载
不会跳过任何行,并且插入 1,000,000 行:
LOAD TABLE lineitem
(l_shipmode ASCII(15),
l_quantity ASCII(8),
FILLER(30))
FROM 'C:\\iq\archive\\mill.txt'
PREVIEW ON
LIMIT 1000000
(Windows) 包含制表符和换行符的装载
以下示例将 l_orderkey 列的列分隔符设置为制表符,并将行分隔符设置为换行符 (\x0a) 后跟回车 (\x0d):
LOAD TABLE mm
(l_orderkey '\x09',
l_quantity ASCII(4),
FILLER(6),
l_shipdate DATE('YYYY/MM/DD'))
FROM 'C:\\iq\\archive\\mill.txt'
ROW DELIMITED BY '\x0a\x0d'
(UNIX) 跳过行的装载
在此示例中, SAP IQ 从输入文件读取 9,000 行,跳过前 5,000 行,装载接下来的 4,000 行。如果输入文件中只有 8,000 行,则只装载 3,000 行。
LOAD TABLE lineitem(
l_shipmode ASCII(15),
l_quantity ASCII(8),
FILLER(30))
FROM '/d1/MILL1/tt.t'
LIMIT 4000
SKIP 5000
PREVIEW ON
LOAD TABLE 添加行
LOAD TABLE 语句将文件内容附加到表的现有行。
要清空现有表,请使用 TRUNCATE TABLE 语句删除所有行。