You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用SQL*Loader为Oracle表添加静态年份列

使用SQL*Loader实现固定年份列的导入

1. 编写SQL*Loader控制文件

创建一个控制文件(例如data_load.ctl),在其中定义数据加载规则,直接为目标表的第一列指定固定年份值,同时映射CSV文件中的5列到表的其余字段:

LOAD DATA
INFILE 'your_data.csv'  -- 替换为你的CSV文件实际路径
APPEND INTO TABLE your_target_table  -- 替换为你的目标表名
FIELDS TERMINATED BY ','  -- 指定CSV数据的分隔符为逗号
TRAILING NULLCOLS  -- 处理行尾可能存在的空列(可选,根据实际数据情况调整)
(
    COLUMN_A CONSTANT '2023',  -- 固定年份值,每年执行前修改此处的年份即可
    COLUMN_B,
    COLUMN_C,
    COLUMN_D,
    COLUMN_E,
    COLUMN_F
)

2. 关键参数说明

  • APPEND:表示将数据追加到目标表中,不会清除已有数据,适配每年增量导入的需求。
  • CONSTANT '2023':直接为COLUMN_A赋值固定常量。如果COLUMN_A是数字类型,可去掉引号写成CONSTANT 2023,Oracle会自动完成类型转换。
  • FIELDS TERMINATED BY ',':告知SQL*Loader当前数据文件采用逗号作为字段分隔符。

3. 执行SQL*Loader命令

在命令行中执行加载命令,替换为你的数据库连接信息:

sqlldr userid=your_username/your_password@your_db_service control=data_load.ctl log=data_load.log bad=data_load.bad
  • log=data_load.log:生成加载日志文件,记录加载过程、成功行数、失败行数等统计信息。
  • bad=data_load.bad:生成错误数据文件,存放加载失败的行数据,便于后续排查问题。

效果验证

针对你提供的CSV数据:

2541-1,36,00000,Some Words Here,00000000
1425-4,25,15245,Some Other Words,45786524
6548-8,12,30210,Different Words,885411246

执行上述操作后,目标表的COLUMN_A会被统一填充为2023,其余列与CSV数据一一对应,完全匹配你期望的导入结果。

内容的提问来源于stack exchange,提问作者Nicole

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 10:15:10