SQL - 保证执行所有语句

时间:2013-03-21 11:09:01

标签: sql insert execution sequential

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

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

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

2 个答案:

答案 0 :(得分:2)

您需要使用Transaction,您可以找到MSDN示例here

答案 1 :(得分:0)

幸运的是,一个好的数据库是具有四种ACID属性的数据库 - 原子,一致,集成和耐用。

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

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

如果您使用的是Oracle,MS SQL Server,MySQL,DB2等优秀数据库,您只需要研究它们如何处理事务并将DML语句放在这些事务中。

了解Oracle的交易支持here

P.S.-看起来你在银行领域工作。这些人对这些事情很不满意。