java - 无法在 Java 中运行多个 SQL 更新语句

标签 java sql

我对 java 世界还是很陌生。我正在开发我的第二个应用程序,它是一个批量更新我公司 SQL 数据库中的时间字段的程序。我能够通过 java 运行查询,并将每个查询行存储在结果集中。问题是结果集的每一行都是一条更新语句。然后我想运行这些结果集行。然而,当我完全清楚这些语句的格式正确并且在 TOAD for oracle 中运行良好时,我一遍又一遍地收到“SQL 命令未正确结束”的错误消息。谁能帮我理解这里发生了什么?我也尝试过批处理并继续收到相同的错误。

这是我的查询的输出行之一的示例,其中表和字段名称已更改。

Update sometable.somefield set COMPLETED_TS ='31-OCT-17 06.00.00.000000000 AM'Where eqact_id ='2559340';

下面您可以看到 SQL 字符串的结尾和 runScript2() 方法。

            "\r\n" + 
            "\r\n" + 
            "where \"Center\" = S.CODE and S.TIMEZONE_ID = T.ID"; //This String is named SQL1

    public void runScript2(){
        try {

        PreparedStatement statement0 = Connection1.conn.prepareStatement(SQL1);

        ResultSet result0 = statement0.executeQuery();


        Connection1.conn.setAutoCommit(false);

        while(result0.next()) {

            PreparedStatement statementq1=Connection1.conn.prepareStatement(result0.getString(1));
            statementq1.executeUpdate();


        }


        Connection1.conn.commit();



    }catch (SQLException e1) {

        e1.printStackTrace();

}

}

最佳答案

嗯,当我发现问题是我的 result0.getString(1) 行在每行末尾都有一个分号时,我感到又生气又高兴,由于某种原因,Java 不喜欢这样。没有这个他们运行得很好。

我想,生活就是你学习的过程。

关于java - 无法在 Java 中运行多个 SQL 更新语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60724971/

相关文章:

sql - 当订单列具有相同数据时,OrderBy 子句会产生不同的结果集

sql - SQL Server 内连接后将行转换为列

java - 在没有自定义类的情况下覆盖 equals

java - 将 View 保存为图像

java - 快速排序实现错误java

java - Gradle 和 Jenkins 在较小构建中的交互

sql - 为什么setParameter不设置参数?

java - 具有多个 jpanel 的框架

mysql - 仅当 s.id = u.summary_id 时返回记录

sql - 如何连接三张表