首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Java运行DB2复合SQL语句

如何使用Java运行DB2复合SQL语句
EN

Stack Overflow用户
提问于 2019-11-16 05:05:59
回答 1查看 57关注 0票数 0

我试图从Java程序中运行复合DB2语句(一组SQL语句)。请提供一些建议。下面是我试过但不起作用的示例程序。基本上,在CallableStatement中不允许使用多个SQL语句。

代码语言:javascript
复制
Connection dbConnection = null;
CallableStatement callableStatement = null;

try {
    dbConnection = getDBConnection();
    dbConnection.setAutoCommit(false);

    String sql= "DECLARE BEGIN " + 
        "INSERT INTO EMPLOYEE(EmpId, EmpName) VALUES (1, 'Name1'); " +
        "INSERT INTO EMPLOYEE(EmpId, EmpName) VALUES (2, 'Name2'); " +
        "END";

    callableStatement = dbConnection.prepareCall(sql);

    callableStatement.executeUpdate();

    dbConnection.commit();


} catch (SQLException e) {
    dbConnection.rollback();
    System.out.println(e.getMessage());

} finally {

    if (callableStatement != null) {
        callableStatement.close();
    }
    if (dbConnection != null) {
        dbConnection.close();
    }
}
EN

回答 1

Stack Overflow用户

发布于 2019-11-16 08:26:03

试试这个:

代码语言:javascript
复制
dbConnection = getDBConnection();
dbConnection.setAutoCommit(false);

String sql= "BEGIN " + 
    "INSERT INTO EMPLOYEE(EmpId, EmpName) VALUES (1, 'Name1'); " +
    "INSERT INTO EMPLOYEE(EmpId, EmpName) VALUES (2, 'Name2'); " +
    "END";

callableStatement = dbConnection.prepareCall(sql);
callableStatement.execute();

如果您的Db2版本和平台不能工作,请提供完整的错误消息/堆栈跟踪。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58887765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档