我正在使用PostgREST向Springboot应用程序公开DB实体,该应用程序会消耗这些实体。
我的数据库里有两个实体,分别是个人和城市。
我想同时保存Person实体和City,如果这两个失败中的任何一个失败,我希望另一个不要在PostgREST上坚持。
我想实现交易行为,但在PostgREST上。是否有机会通过该工具或不以编程方式删除刚刚创建的异常记录来实现这一目标?
发布于 2022-03-22 10:04:15
您可以创建一个PL/pgSQL过程,该过程接收来自City和Person的数据,并在两个表上插入,如果有任何失败,则调用回滚。下面是一些例子的文档:https://www.postgresql.org/docs/11/plpgsql-transactions.html
Postgrest将在/rpc/{function_name}端点中公开该过程。以下是文档:https://postgrest.org/en/stable/api.html#stored-procedures
https://stackoverflow.com/questions/67639069
复制相似问题