我想运行一系列SQL INSERT语句。 问题是我想要一个全有或全无方法。要么它们都执行,要么其中一个没有执行,那么就不会对数据库进行任何更改。
我能想到的唯一解决方案是使用条件循环,但这意味着需要大量冗余代码(确定所做的更改,删除表等) 有更简单的解决方案吗?
我已经广泛搜索了一个解决方案,但没有找到任何类似的问题,所以如果之前被问过就道歉
答案 0 :(得分:2)
您需要使用Transaction
,您可以找到MSDN示例here。
答案 1 :(得分:0)
幸运的是,一个好的数据库是具有四种ACID属性的数据库 - 原子,一致,集成和耐用。
第一个属性 - 原子 - 指的是交易的行为,其中一次提交整个交易或根本不发生任何变化。
阅读Korth的书“数据库系统概念”以供进一步参考。
如果您使用的是Oracle,MS SQL Server,MySQL,DB2等优秀数据库,您只需要研究它们如何处理事务并将DML语句放在这些事务中。
了解Oracle的交易支持here。
P.S.-看起来你在银行领域工作。这些人对这些事情很不满意。