【问题标题】:How to make transaction in java to delete two tables?如何在java中进行事务以删除两个表?
【发布时间】:2013-12-03 20:35:39
【问题描述】:

我正在使用 DB2 数据库 我想在一个事务中创建一个事务以同步删除两个表

那么我怎样才能通过 java 做到这一点

 String SQL  =" DELETE  FROM     CUSTOMERS;";
          Statement stmt= connection.createStatement();
          stmt.executeUpdate(SQL );

  SQL =" DELETE  FROM    Products ;";
          Statement stmt= connection.createStatement();
          stmt.executeUpdate(SQL );

我认为这不是交易 我需要一种使用事务命令的方法

【问题讨论】:

  • 你的意思是像BEGIN TRANSACTION开头的吗?
  • 是的,正是我需要的!
  • 创建一个存储过程并调用它怎么样?
  • 好的!可以举个例子吗

标签: java jdbc db2


【解决方案1】:

使用connection.setAutoCommit(false) 启动事务,然后在执行SQL 语句后使用connection.commit(); 完成事务(如果出现问题,使用connection.rollback())。

您可能还想改用“截断表”语句(即TRUNCATE TABLE CUSTOMERS ),如果你想清空整个表,它应该比删除更快。

【讨论】:

  • 我需要一个例子
  • 把connection.setAutoCommit(false)放在开头,把connection.commit()放在最后。
  • 并在catch 块中使用connection.rollback(),以便在出现错误时回滚操作。
  • 如何将 2 个查询传递给连接
  • @Maria 当然是一个接一个。还看了 JDBC 教程,好像跳过了。
猜你喜欢
  • 2016-08-02
  • 2011-07-03
  • 2022-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多