我想运行一系列SQL INSERT语句。 问题是我想要一个全有或全无的方法。它们全部执行,或者如果其中一个不执行,则不对数据库进行任何更改。SQL - 保证执行所有语句
我能想到的唯一的解决办法是使用条件循环,但是这将意味着大量的冗余代码(决定作出修改,删除表等) 是否有一个简单的解决方案?
我已经广泛地寻找一个解决方案,但没有找到任何类似的问题,因此,如果道歉已经问过
我想运行一系列SQL INSERT语句。 问题是我想要一个全有或全无的方法。它们全部执行,或者如果其中一个不执行,则不对数据库进行任何更改。SQL - 保证执行所有语句
我能想到的唯一的解决办法是使用条件循环,但是这将意味着大量的冗余代码(决定作出修改,删除表等) 是否有一个简单的解决方案?
我已经广泛地寻找一个解决方案,但没有找到任何类似的问题,因此,如果道歉已经问过
幸运的是,一个好的数据库是一个具有四个ACID属性 - 原子,一致,集成和持久的属性。
第一个属性Atomic是指整个交易一次提交或完全不发生更改的交易行为。
阅读Korth的书“数据库系统概念”以供进一步参考。
如果您使用Oracle,MS SQL Server,MySQL,DB2等优秀的数据库,您只需要研究一下他们如何处理事务并将DML语句放在这些事务中。
了解Oracle的交易支持here。
P.S.-看起来你在银行领域工作。这些人对这些事情心存疑虑。
不管白痴决定否定这个问题而不给出理由? – Delvin 2013-04-05 14:57:25