返回首页

gbase数据、南大通用产品文档:GBase8s关于本出版物

更新日期:2024年09月11日

本出版物说明如何使用独立的安装应用程序,而不是包含数据库服务器产品的
GBase
8s 捆绑软件来安装 GBase
8s
Client
Software
Development
Kit
(Client
SDK) 和 GBase 8s Connect。
本出版物是为安装 GBase
8s 客户机产品的数据库管理员和软件工程师编写的,
并假定
您熟悉自己计算机上的操作系统。
重要: 请参阅《GBase 8s JDBC Driver 程序员指南》,了解 JDBC 驱动程序的安装信息。

 摘要:
执行预处理语句。
 语法:
int gbase_stmt_execute(GBASE_STMT *stmt);
 参数:
 返回值:
如果执行成功,返回0。如果出现错误,返回非0 值。
 错误
CR_COMMANDS_OUT_OF_SYNC
以不恰当的顺序执行了命令。
CR_OUT_OF_MEMORY


内存溢出。
CR_SERVER_GONE_ERROR

GBase 服务器不可用。
CR_SERVER_LOST


在查询过程中,与服务器的连接丢失。
CR_UNKNOWN_ERROR


出现未知错误

批量更新特性类似于多条 GBase 8s SQL PREPARE 语句。可如下列示例中那样发出批量更
新语句:
PREPARE stmt FROM "insert into tab values (1);
insert into tab values (2);
update table tab set col = 3 where col = 2";
GBase 8s JDBC Driver 中的批量更新特性遵守 JDBC 3.0 规范,有这些例外:

SQL 语句

从 Statement.executeBatch() 返回值
SQL 语句和批量更新
不可将下列命令放入多语句 PREPARE 语句内:

SELECT(SELECT INTO TEMP 除外)语句

DATABASE 语句

CONNECTION 语句
要了解详细信息,请参阅《GBase 8s SQL 指南:语法》。
从 Statement.executeBatch() 方法返回值
以下列方式,返回值不同于 JDBC 3.0 规范:

如果将 IFX_BATCHUPDATE_PER_SPEC 环境变量设置为 0,则仅返回批量中执行
的第一个语句的更新数。如果将IFX_BATCHUPDATE_PER_SPEC 环境变量设置
为 1(缺省值),则返回值等于由 Statement.executeBatch() 执行的所有 SQL 语句

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 69 -
影响的行数。要获取更多信息,请参阅 随同 GBase 8s JDBC 驱动程序的 GBase 8s
环境变量。

当在 Statement 对象中执行的批量更新中发生错误时,该语句不影响行;不执行该
语句。在此情况下,调用BatchUpdateException.getUpdateCounts() 会返回 0。

当在 PreparedStatement 对象中执行的批量更新中发生错误时,
在数据库服务器上成
功地插入了或更新了的行不恢复它们的更新前状态。
然而,
不是始终提交这些语句;
它们仍处于基本的 autocommit 模式。
BatchUpdate.java 示例文件展示如何将批量更新发送至数据库服务器。