【发布时间】:2011-07-07 12:12:34
【问题描述】:
我正在使用 sybase 临时表方法(#表名)进行批量插入。这发生在事务中。但是,此操作正在提交数据事务。 (我没有做一个connection.commit自己)。我不希望这种提交发生,因为我以后可能不得不回滚整个事务。知道为什么使用临时表插入是在不被询问的情况下提交事务吗?我该如何解决这个问题?
sql类似于
select * into #MY_TABLE_BUFFER from MY_TABLE where 0=1;
load table #MY_TABLE_BUFFER from 'C:\temp\123.tmp' WITH CHECKPOINT ON;
insert into MY_TABLE on existing update select * from #MY_TABLE_BUFFER;
drop table #MY_TABLE_BUFFER;
我正在使用statement.executeUpdate() 来执行它
发现这是由于临时表未参与事务并执行提交。 有什么解决方法吗?
【问题讨论】:
-
请向我们展示一些代码并正确格式化。您是否将 auto commit 设置为 false?
-
你说你使用
statement.executeUpdate()。你是从其他代码中调用它吗?例如来自 Java? -
@cularis。是的。其设置为假。 @尼瓦斯是的。来自java代码