You have a few problems here.
是的,它能够做到。 具体地说,可在或现场进行制约检查。 当你作出承诺时,它取决于<>DDL,而不是联系的建立。 在PSQL中,这种制约检查是触发的,可以没收: Don(坏思想,但当你重新大规模进口时,会有所助益),在现场站立,并推迟到投入。 我们不知道你是如何组合你的亚洲开发银行的(正如你写的那样,为建立这些制约因素)。 在报表执行时,通过违约限制进行核查。
Use SERIALIZABLE instead. Your database s integrity will thank you.
Regardless of the situation of where constraints are checked, a commit is never guaranteed. What if you send out the email and then someone trips over the power cable? If you reverse the situation and commit, then send the email, what happens if someone trips over a power cable after the commit but before the email is sent?
你们在此 st着两系统。 你们有两件事,两件都属于原体,你们都希望两件都发生(送电子邮件和<>>)。 浏览量更新,或者不会发生。 www.un.org/Depts/DGACM/index_spanish.htm 但是,这是不可能的——2个不同的系统可以这样做。
You have many ways out of the dilemma and they re all bad. Some general aspects:
- Remember that spaceballs movie scene with preparing to rewind! ? Do that. Log somewhere (perhaps in the database): "About to send an email", "Email sent" - where each log action is fully flushed before proceeding. Then, on boot of the system, scan your dbs and check if the last event isn t one that has returned the system to a stable state. If it has not, use what you have logged to restore state. This is exactly how journalling file systems work.
如果最后要发出电子邮件,就发生了两件事情:
- The email was sent, but before you managed to log email sent , someone tripped over a power cord. The correct act is to mark off the entry as ... and the email has been sent .
- The email was not sent as someone tripped over a power cord before it went out. The correct act is to send it.
如果没有单独的APIC或其他系统让你检查所发生的情况,你就能够解决这一困境。 例如,如果你通过电子邮件和ou重新发送,则可以使用其预报工具检查寄出的箱子。 最糟糕的是,在你刚好坠毁的boot子上,有人要求经营者更新该条目,准确解释该电子邮件的命运。 或者,出现一些违约情况(在怀疑时,发出两次,例如。 i. 假设电子邮件没有发出,以便恢复状态,再次发出。
这相当复杂,但是唯一的使2个不同的系统原子化的办法。