-1

我想运行一系列 SQL INSERT 语句。问题是我想要一种全有或全无的方法。它们要么全部执行,要么如果其中一个不执行,则不会对数据库进行任何更改。

我能想到的唯一解决方案是使用条件循环,但这意味着很多冗余代码(确定所做的更改、删除表等)是否有更简单的解决方案?

我已经广泛搜索了一个解决方案,但没有找到任何类似的问题,所以如果之前有人问过,我深表歉意

4

2 回答 2

2

你需要使用一个,你可以在这里Transaction找到一个 MSDN 示例。

于 2013-03-21T11:11:09.550 回答
0

幸运的是,一个好的数据库具有四个 ACID 属性——原子、一致、集成和持久。

第一个属性 - 原子 - 指的是事务的行为,其中一次提交整个事务或根本不发生任何更改。

阅读 Korth 的《数据库系统概念》一书以供进一步参考。

如果您使用的是 Oracle、MS SQL Server、MySQL、DB2 等出色的数据库,您所要做的就是研究一下它们如何处理事务并将 DML 语句放入这些事务中。

在此处了解 Oracle 的事务支持。

PS-看起来你在银行领域工作。这些人对这些事情非常执着。

于 2013-03-21T11:15:24.910 回答