使用CLOB添加多个数据

时间:2011-11-29 08:26:20

标签: stored-procedures plsql oracle11g batch-processing clob

我有这个外部oracle存储过程,它以INTEGER,CLOB,VARCHAR作为参数,并在执行时将记录插入到表中。这将使用由JAVA + Spring组成的dao层调用。

我被要求使用相同的程序插入多个记录(1000s)。所以我正在考虑编写一个pl / sql块,它接受String或Clob,并在调用该过程的循环中对值进行子串。为此,我必须为每个记录追加一个带有删除计的字符串,并将其作为参数传递,或者我可以从该字符串创建一个CLOB并将其作为参数传递。 例如:String param ="value1,value2,value3 | value1,value2,value3 | value1,value2,value3 ..etc"

我的问题是:

  1. 有没有比我想的更好的解决方案(因为我认为最好将它循环到数据库服务器而不是在DAO层循环并进行1000次数据库调用)?

  2. 如果我继续使用我的解决方案会有限制阻止我的努力,例如我可以传递给pl / sql块的数据大小?

1 个答案:

答案 0 :(得分:0)

我会推荐你​​这个问题:

Bulk insert from Java into Oracle

基本上,你应该做一些批量操作而不是数千个个体操作。