Java 发生约束冲突异常时
我在自动提交关闭的情况下使用jdbc。我有一个具有唯一索引的表。约束冲突异常是否可能发生在连接#提交而不是PreparetStatement#执行上 在我的例子(Oracle)中,它总是发生在“执行”上。Java 发生约束冲突异常时,java,sql,jdbc,transactions,Java,Sql,Jdbc,Transactions,我在自动提交关闭的情况下使用jdbc。我有一个具有唯一索引的表。约束冲突异常是否可能发生在连接#提交而不是PreparetStatement#执行上 在我的例子(Oracle)中,它总是发生在“执行”上。 它是否依赖于数据库?通常在执行命令而不是在提交时计算约束 但是SQL有一个特性,可以将约束定义为可延迟的:这样完整性检查就可以延迟到事务完成时 在Oracle中,这种行为可以通过约束定义中的子句和命令来实现。通常在执行命令时而不是在提交时对约束进行计算 但是SQL有一个特性,可以将约束定义为可
它是否依赖于数据库?通常在执行命令而不是在提交时计算约束 但是SQL有一个特性,可以将约束定义为可延迟的:这样完整性检查就可以延迟到事务完成时
在Oracle中,这种行为可以通过约束定义中的子句和命令来实现。通常在执行命令时而不是在提交时对约束进行计算 但是SQL有一个特性,可以将约束定义为可延迟的:这样完整性检查就可以延迟到事务完成时
在Oracle中,这种行为可以通过约束定义中的子句和命令来实现。一个奇怪的问题。你到底需要知道什么?在执行时,当在数据库端执行更改时,会发生异常。没错。在批量更新的情况下,稍后(当所有更改集都发送到DB时)可能会发生一个奇怪的问题。你到底需要知道什么?在执行时,当在数据库端执行更改时,会发生异常。没错。在批量更新的情况下,可能会在稍后发生(当所有更改集都发送到DB时)吹毛求疵:如果一个约束被声明为可延迟的,那么它就是可延迟的,也就是说,可以在提交时检查它们,但可能仍然是立即检查的情况(如果声明不包括最初延迟的或类似的内容)。@ErwinSmout您是对的,更改了表达能力的措辞InitPick:如果一个约束被声明为可延迟的,那么它就是可延迟的,也就是说,可以在提交时对其进行检查,但可能仍然是立即对其进行检查(如果声明不包括最初推迟的或类似的内容)。@ErwinSmout你是对的,改变措辞以表达能力