`
littleboys
  • 浏览: 3582 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

在数据库中执行一个批处理SQL语句(转)

阅读更多


在数据库中执行一个批处理SQL语句
With batch updating, a set of SQL statements is assembled and then sent altogether to the database for execution. Batch updating can improve performance.
This example creates a batch of insert statements. Auto-commit is disabled so that you have the choice of committing or not in the event of an exception.

java 代码

try {    
    // Disable auto-commit    
    connection.setAutoCommit(false);    
   
    // Create a prepared statement    
    String sql = "INSERT INTO my_table VALUES(?)";    
    PreparedStatement pstmt = connection.prepareStatement(sql);    
   
    // Insert 10 rows of data    
    for (int i=0; i<10; i++) {    
        pstmt.setString(1, ""+i);    
        pstmt.addBatch();    
    }    
   
    // Execute the batch    
    int [] updateCounts = pstmt.executeBatch();    
   
    // All statements were successfully executed.    
    // updateCounts contains one element for each batched statement.    
    // updateCounts[i] contains the number of rows affected by that statement.    
    processUpdateCounts(updateCounts);    
   
    // Since there were no errors, commit    
    connection.commit();    
} catch (BatchUpdateException e) {    
    // Not all of the statements were successfully executed    
    int[] updateCounts = e.getUpdateCounts();    
   
    // Some databases will continue to execute after one fails.    
    // If so, updateCounts.length will equal the number of batched statements.    
    // If not, updateCounts.length will equal the number of successfully executed statements    
    processUpdateCounts(updateCounts);    
   
    // Either commit the successfully executed statements or rollback the entire batch    
    connection.rollback();    
} catch (SQLException e) {    
}    
   
public static void processUpdateCounts(int[] updateCounts) {    
    for (int i=0; i<updateCounts.length; i++) {    
        if (updateCounts[i] >= 0) {    
            // Successfully executed; the number represents number of affected rows    
        } else if (updateCounts[i] == Statement.SUCCESS_NO_INFO) {    
            // Successfully executed; number of affected rows not available    
        } else if (updateCounts[i] == Statement.EXECUTE_FAILED) {    
            // Failed to execute    
        }    
    }    
}   

 

分享到:
评论

相关推荐

    批处理执行sql语句

    批处理在IT行业中,特别是在数据库管理领域,是一个重要的概念,它允许用户一次性处理多个SQL语句,从而提高工作效率,减少数据库交互的次数,提升系统性能。在这个“批处理执行sql语句”示例中,我们可以深入理解...

    oracle利用批处理文件执行SQL语句,bat连接oracle数据库并执行语句

    在这个场景中,我们可以利用批处理文件来简化Oracle数据库的操作,如删除用户、创建用户、创建表和触发器,以及执行其他SQL语句。 首先,我们需要了解如何在批处理文件中连接Oracle数据库。这通常通过Oracle的...

    Oracle批处理:使用C# 自带Oracle驱动一次执行多条Sql语句

    Oracle批处理是数据库操作中提高效率的重要手段,尤其是在C#编程环境下,利用Oracle的数据驱动进行批处理,可以显著提升大量SQL语句执行的速度。本文将深入探讨如何在C#中利用Oracle自带的驱动来实现批处理,以一次...

    执行SQL语句的批处理

    这样,所有在执行SQL语句过程中产生的信息,如查询结果或错误消息,都会被保存到results.txt文件中,方便后续查看和分析。 此外,批处理还可以结合其他工具,如Oracle的SQL Developer或Toad等图形化界面工具,它们...

    批处理文件执行sql语句

    批处理文件(Batch File)是...通过理解这些知识点,你可以编写一个批处理文件来执行SQL语句,实现数据库的自动维护、数据迁移、数据备份等任务。确保在执行过程中遵循最佳实践,确保数据的安全性和操作的可靠性。

    oracle 中使用批处理文件,同时执行,多个.sql文件。

    - 错误处理:在执行过程中,如果某个.sql文件出错,你需要决定是继续执行其他文件还是停止整个批处理。 总的来说,Oracle的批处理能力提供了高效管理大量SQL操作的途径,无论是通过SQL*Plus、数据库管理工具,还是...

    二十Qt数据库利用QSqlQuery类执行SQL语句.pdf

    在上面的代码中,我们首先创建了一个数据库连接,然后使用QSqlQuery类来执行SQL语句。我们可以看到,我们在主函数中打开数据库连接,并将其放在一个单独的文件中,这样可以使得主函数变得更加简洁。 使用QSqlQuery...

    批处理执行sql脚本

    在SQL语句中,批处理指的是将多个SQL命令写入一个文本文件,然后一次性提交给数据库执行。这种方式适用于创建数据库结构、导入数据、执行数据更新或清理等任务。例如,`sql.sql`文件可能包含了创建表、插入数据、...

    嵌入式SQL语句在VC++数据库系统开发中的技巧

    5. **批处理**:如果需要执行多个相似的SQL语句,可以将它们打包成一个批处理,以减少与数据库的通信次数。 在提供的压缩包"嵌入式sql实验"中,可能包含了示例代码和环境配置,这些资源可以帮助你更好地理解并实践...

    批处理sql脚本实例

    在这个实例中,我们看到的是一个批处理脚本(ddd.bat)和一个SQL脚本(ddd.sql)的组合。 批处理脚本(ddd.bat)通常包含DOS命令或其他操作系统级别的指令,用于执行特定的任务。在这个案例中,脚本可能包含了启动...

    批处理执行sqlserver的sql文件

    在sqlserver数据库中批处理执行sql文件,这样就不用一条一条执行insert语句

    access 一次执行多条sql语句

    在Access数据库管理中,有时我们需要在同一事务中执行多条SQL语句来确保数据的一致性和完整性。例如,在更新某个记录后可能还需要执行其他操作,如增加日志记录等。本文将详细介绍如何在Access中实现一次执行多条SQL...

    批处理导入SQL文件

    批处理导入SQL文件是数据库管理中的一个重要操作,它主要用于高效地执行大量SQL语句,比如在数据迁移、数据库初始化或更新时。批处理通过合并多个SQL命令为一个单一的处理单元,可以显著提高数据处理速度,减少网络...

    Sql Server数据库跨计算机自动备份批处理脚本

    "Sql Server数据库跨计算机自动备份批处理脚本"是一个解决方案,它允许管理员实现自动化、远程的数据库备份过程,从而提高效率并确保数据的安全性。下面将详细阐述这个主题中的几个关键知识点。 1. **SQL Server ...

    BAT文件执行SQL语句

    在IT行业中,有时候我们需要在没有图形用户界面的环境中执行SQL语句,比如在服务器上进行自动化操作。这时,我们可以利用批处理(BAT)文件来实现。"BAT文件执行SQL语句"这一主题就是关于如何通过编写简单的批处理...

    用批处理附件数据库 sql

    在这个场景中,"用批处理附件数据库 sql" 指的是利用SQL语句批量处理数据库的附加操作。这通常在我们需要将一个已经存在的数据库文件(MDF和LDF)连接到SQL Server实例时非常有用。 首先,让我们理解MDF和LDF文件。...

    软件工程中常用数据库操作的SQL语句

    ### 软件工程中常用数据库操作的SQL语句 在软件工程领域,数据库操作是不可或缺的一部分。SQL(Structured Query Language)作为与数据库交互的主要语言,掌握其基本语法及应用场景对于开发人员而言至关重要。本文...

    用批处理运行sqlserver语句.zip_checkbgq_riceitt_sql_topicynh_批处理

    总结来说,这个压缩包提供的是一套完整的解决方案,用于在SQL Server环境中通过批处理自动化执行SQL语句并记录结果。这对于数据库管理员、开发人员或者任何需要定期执行SQL查询的用户都非常有用。批处理的使用可以...

    C#中实现一次执行多条带GO的sql语句实例

    在C#中,当你需要执行包含`GO`关键字的多条SQL语句时,通常会遇到问题,因为`GO`并不是SQL Server的真正命令,而是SQL Server Management Studio(SSMS)中的一个批处理分隔符。在C#中直接执行这样的语句会导致错误...

    Delphi adoquery处理多条SQL语句

    在这个例子中,我们首先通过 `BeginTrans` 开始一个事务,然后依次执行多条 SQL 插入语句,最后使用 `CommitTrans` 提交事务。如果在执行过程中出现异常,则使用 `RollbackTrans` 回滚事务。 ##### 3. 更新批处理 ...

Global site tag (gtag.js) - Google Analytics