写一个sqlldr入库代码
时间: 2024-03-17 08:42:50 浏览: 156
sqlldr导入csv文档
以下是一个简单的sqlldr入库代码示例:
1. 编写控制文件load.ctl:
```sh
load data
infile 'data.dat'
into table employees
fields terminated by ','
(
employee_id,
first_name,
last_name,
email,
phone_number,
hire_date "to_date(:hire_date, 'YYYY-MM-DD')",
job_id,
salary,
commission_pct,
manager_id,
department_id
)
```
该控制文件用于将数据文件data.dat中的数据加载到employees表中,每行数据以逗号分隔,对于日期类型的数据需要使用to_date函数进行转换。
2. 编写数据文件data.dat:
```sh
1001,John,Smith,john.smith@example.com,555-1234,2022-01-01,IT_PROG,5000,,300,60
1002,Jane,Doe,jane.doe@example.com,555-5678,2022-01-02,AC_MGR,8000,,100,60
1003,Bob,Johnson,bob.johnson@example.com,555-9012,2022-01-03,SA_REP,4000,0.05,100,80
```
该数据文件中包含了三行数据,每行数据以逗号分隔,对于空值需要使用两个逗号表示。
3. 执行sqlldr命令:
```sh
sqlldr userid=username/password@database control=load.ctl log=load.log bad=load.bad
```
其中,userid参数指定数据库用户名、密码和连接字符串,control参数指定控制文件的路径和文件名,log参数指定日志文件的路径和文件名,bad参数指定错误记录文件的路径和文件名。
执行该命令后,将会将数据文件中的数据加载到employees表中,同时生成日志文件load.log和错误记录文件load.bad。
阅读全文