0

我想使用 sqlldr 将以下文件加载到具有多个主详细信息的 oracle 数据库中。

示例文件:

1 015
3 brnadcode1 brandname1
3 brnadcode2 brandname2
3 brnadcode3 brandname3
1 018
3 patterncode1 pattername1 address1
3 patterncode2 pattername2 address2
3 patterncode3 pattername3 address3
  1. 第一行有记录类型“1”和表代码“015”
  2. 记录类型为“3”的第一行下方的行具有需要加载到 brand_master 表中的品牌代码和品牌名称
  3. 第 5 行有记录类型“1”和表代码“018”
  4. 记录类型为“3”的第 5 行以下的行具有需要加载到模式表中的模式代码、模式名称和地址

根据我的理解,使用 sqlldr 加载此文件需要遵循以下步骤

  1. 使用 UTL_FILE 包生成两个单独的文件
    • a)brand.txt,其中有记录brandcode,brandname
    • b) pattern.txt,其中有记录 patterncode,pattername,address
  2. 为brand.txt和pattern.txt编写2个单独的控制文件以加载到数据库表中

任何人都可以帮助加载多个表中只有一个控制文件的上述文件吗?

4

1 回答 1

0

我不相信 SQL Loader 可以通过任何方式使用 015 和 018 代码。但是,如果要求如所述,那么您也许可以使用多个 INTO 子句通过确定是否存在地址来加载到适当的表中。就像是:

INTO TABLE brand_master
   WHEN address = BLANKS 
   ...
INTO TABLE pattern
   WHEN address != BLANKS 
   ...
于 2011-07-26T14:53:59.967 回答