java命名空间java.sql接口statement的类成员方法:
executebatch定义及介绍
本文导语:
executebatch
int[] executebatch()
throws sqlexception
将一批命令提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组。返回数组的 int 元素的排序对应于批中的命令,批中的命令根据被添加到批中的顺...
executebatch
int[] executebatch()
throws sqlexception
- 将一批命令提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组。返回数组的
int
元素的排序对应于批中的命令,批中的命令根据被添加到批中的顺序排序。方法 executebatch
返回的数组中的元素可能为以下元素之一:
- 大于等于 0 的数 - 指示成功处理了命令,是给出执行命令所影响数据库中行数的更新计数
success_no_info
的值 - 指示成功执行了命令,但受影响的行数是未知的
如果批量更新中的命令之一无法正确执行,则此方法抛出 batchupdateexception
,并且 jdbc 驱动程序可能继续处理批处理中的剩余命令,也可能不执行。无论如何,驱动程序的行为必须与特定的 dbms 一致,要么始终继续处理命令,要么永远不继续处理命令。如果驱动程序在某一次失败后继续进行处理,则 batchupdateexception.getupdatecounts
方法返回的数组将包含的元素与批中存在的命令一样多,并且其中至少有一个元素将为:
execute_failed
的值 - 指示未能成功执行命令,仅当命令失败后驱动程序继续处理命令时出现
在 java 2 sdk, standard edition, 1.3 版中已经修改了可能的实现和返回值,以适应抛出 batchupdateexception
对象后在批量更新中继续处理命令的选项。
- 返回:
- 包含批中每个命令的一个元素的更新计数所组成的数组。数组的元素根据将命令添加到批中的顺序排序。
- 抛出:
sqlexception
- 如果发生数据库访问错误,在已关闭的 statement
上调用此方法,或者驱动程序不支持批量语句。如果未能正确执行发送到数据库的命令之一或者尝试返回结果集合,则抛出 batchupdateexception
(sqlexception
的子类)。- 从以下版本开始:
- 1.3
- 另请参见:
addbatch(java.lang.string)
,
databasemetadata.supportsbatchupdates()