OCCI的迭代修改
Posted focus-flying
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OCCI的迭代修改相关的知识,希望对你有一定的参考价值。
传统的执行多行DML(INSERT、UPDATE、DELETE)时,我们是多次调用executeUpdate();
注意!当我们调用一次此函数时,则执行一次网络往返,效率低。
而 OCCI 提供了一种在单个网络往返中发送多行数据的高效机制。此为迭代修改。
初始化设置流程:
- 设置最大迭代次数
Statement->setMaxIterations(int maxIterations) - 设置参数最大大小(如果参数涉及到可变大小时如string,Bytes则调用此函数,以便OCCI能分配充足的内存)
Statement->setMaxParamSize(int paramenterIndex, int maxParamSize)
实例
注意: 在每一次要迭代时调用
addIteration
函数,最后调用executeUpdate
函数
stmt->setMaxIterations(2);
stmt->setMaxParamSize(2, 7);
stmt->setSQL("INSERT INTO basket_tab VALUES(:1, :2)");
stmt->setString(1, "Apples");
stmt->setInt(2, 6);
stmt->addIteration(); //增加迭代
stmt->setString(1, "Oranges");
stmt->setInt(1, 4);
stmt->executeUpdate(); //执行
以上是关于OCCI的迭代修改的主要内容,如果未能解决你的问题,请参考以下文章
使用 OCCI oracle 在 C++ 中执行 PL/SQL 脚本