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 |

本文介绍了如何在Oracle Apex中将CSV文件导入到数据库的Clob字段,然后进一步解析并导入到对应的列。首先创建包含Clob字段的表和具有实际列的表,接着准备CSV文件并存放在指定目录。然后,通过创建存储过程来实现CSV到Clob的转换,以及Clob内容到列的映射。操作过程中需注意目录对象的设置和存储过程的编写。
最低0.47元/天 解锁文章
2409

被折叠的 条评论
为什么被折叠?



