结论
PG的是事务和ORACLE的事务是不一样的
在ORACLE事务中,有失败是可以继续执行的,且事务提交后,只有失败的不可见(成功的可见)
在PG事务中,有失败,立即中止,且前面成功的,也会回滚
报错:current transaction is aborted, commands ignored until end of transaction block
原因
oracle具有子事务功能,orale的子事务是指一个大事务可以包含多个小事务,而每个小事务可以单独提交或者回滚,同时也支持跟随父事务进行提交或回滚。其实现原理为嵌套事务结合保存点来实现的。
在Oracle数据库中执行第一条数据操纵语言(DML)语句(如INSERT、UPDATE、DELETE)时,Oracle会自动隐式地开启一个新的事务。这意味着,事务的开启是自动进行的,用户无需进行额外的操作。