Oracle Apex 实用笔记系列 5 - 在Apex把csv导入数据库Clob字段再导入到各自对应列的解决方法

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 
l_max_line_length integer := 32767;
l_buffer varchar2(32767);
l_file UTL_FILE.FILE_TYPE; 
l_clob clob;
BEGIN

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值