1. 需求
有一用户数据存在于csv文件,因为Apex不允许上传超过44列的数据(在该案例中有90多列),所以需求是把所有列先导入到一个clob字段,然后再用存储过程导出到对应的列。
2.解决方法
1) 创建一个有clob字段的表
CREATE TABLE "TABLE3" ( "CONTENT" CLOB ) ; |
2)创建一个具有真实列的表
CREATE TABLE "TABLE4" ( "NAME" VARCHAR2(20 BYTE), "SID" VARCHAR2(20 BYTE) ) ; |
3) 准备一个csv文件
比如,文件名叫book1.csv,文件格式如下
a11,1 b2,2 c33,3 |
4) 把csv放到一个目录下
比如/home/oracle/csv
同时,在oracle建立一个directory对象
create or replace directory csv as '/home/oracle/csv' ; grant read,write on directory csv to user1; |
5) 写一个存储过程把csv放入clob
create or replace PROCEDURE writecsvintoclob AS |