CASCADE Delete是否作为事务执行?

时间:2020-03-06 14:31:59  来源:igfitidea点击:

我想对数据库中的某些表执行级联删除,但是我对删除某些内容失败时的情况感兴趣。一切都会回滚吗?

解决方案

一般来说,是的,级联删除是在与原始删除相同的事务(或者子事务)中完成的。不过,我们应该阅读SQL Server的文档。

1例外是,如果我们使用的数据库不支持事务,例如带有MyISAM表的MySQL。

级联删除确实是原子性的,如果没有该属性,它们将毫无用处。它在文档中。

值得指出的是,任何级联事件都应该是原子的(即在事务中)。但是,正如Joel Coehoorn指出的那样,请检查数据库的文档。