【问题】
有一个 txt 文档,格式如下:
[分类名1] 文本内容1
[分类名1] 文本内容2
[分类名2] 文本内容3
如何写入数据库中(oracle 10g)
要求 [] 不写入数据库,[分类名]和文本内容用空格隔开,各行之间有空格,如果分类名相同则只能在数据库中存在一条记录,而分类名相同的文本内容都要追加到这条记录上.
【回答】
相比JAVA复杂的硬代码,用SPL做会比较简单,还能方便嵌入JAVA(参考Java 如何调用 SPL 脚本),脚本如下:
A | |
1 | =file("E:\\s.txt").import@i() |
2 | =A1.select(~).(~.split@t(" ")).new(left(mid(~(1),2),-1):分类,~(2):内容) |
3 | =A2.group(分类).new(~.分类,~.(内容). concat@c():内容) |
4 | >db.update(A3,tableName,col1:分类,col2:内容) |
A1 : 读取文本文件s.txt中的内容,返回成序列。