用于从CLOB处理CSV的Oracle PL / SQL程序包/过程

时间:2013-04-30 16:23:49

标签: oracle csv plsql

我允许用户通过OHS / mod_plsql上传.csv文件。此文件将作为BLOB文件保存在数据库中,然后我将其转换为CLOB。我想获取此CLOB文件的内容并将其内容保存到表中。我已经有一些工作代码根据行结尾拆分文件,然后用逗号分隔每个结果字符串并插入记录。

我需要的是一种处理CSV中的字符串用双引号括起来并包含逗号的方法。例如:

col1,col2,col3,col4
some,text,more,text
this,text,has,"commas, semicolons, and periods"

我的代码将知道如何处理第二行,但不知道第三行。有没有人有一些足够聪明的代码可以将“逗号,分号和句号”视为单个标记?我可能会在一起破解某些东西,但我不太相信我的正则表达能力,而且我认为其他人可能已经写了一些能够做同样愿意分享的东西。

1 个答案:

答案 0 :(得分:2)

Alexandria PL / SQL库中有一个很好的CSV解析器 - CSV_UTIL_PKG。

https://code.google.com/p/plsql-utils/

更多信息:

http://ora-00001.blogspot.com.au/2010/04/select-from-spreadsheet-or-how-to-parse.html