什么做虚拟填充sql加载器?

时间:2016-01-22 20:10:43

标签: xml oracle sql-loader

你好,我不明白假填料是做什么的?

有人向我解释了吗?

load data
  infile * "str '</contact>'" 
INSERT



 into table address_book
TRUNCATE
  FIELDS(
         dummy1 filler char(2000) terminated by "<contact>",
         contact_name char(2000) enclosed by "<contact_name>" and "</contact_name>",
         address char(2000) enclosed by "<address>" and "</address>",
         dummy2 filler char(2000) terminated by "</start>"
        )
BEGINDATA

示例:dummy1填充:这意味着在联系之前忽略所有内容? 谢谢

1 个答案:

答案 0 :(得分:0)

基本上,在高级Sqlldr,首先将控制文件中定义的字段与数据文件中的字段匹配。然后,如果它也匹配列名,它会尝试将其插入表中。

请注意,infile行的str部分:

infile * "str '</contact>'"

告诉sqlldr记录以字符串"</contact>"结尾。

因此我们可以看出sqlldr是从联系人记录中加载一些数据。在这种情况下,记录中的数据将被读取,直到找到字符串"<contact>",并且因为它与列名称不匹配,并且进一步将其定义为FILLER,sqlldr将忽略它。它只对contact_name和address字段感兴趣。

所以回答你的问题,是的。 : - )