确保PostgreSQL中的序列号

时间:2018-02-18 01:05:02

标签: sql postgresql logic

这是一个更合乎逻辑的问题,而不是SQL,但我希望你能够帮助我。

我的数据库中有一个钱包列表,如下所示:

wallet_id SERIAL PRIMARY KEY | balance BIGINT

我收到客户的要求,在数据库中注册钱包,有注册费,有第三方根据wallet_id确定费用,我不会# 39;不知道他们使用什么逻辑,无法预测费用。但我必须确保客户有足够的余额来注册钱包。我还需要确保他们所有的钱包ID都是连续的。我没有尽可能多地注册客户的目标,如果注册成功与否,我只需要回复每个客户的注册请求以及客户收取的费用是多少。

最重要的是,我得到了多个与数据库通信并尝试注册客户端的进程。所以我的问题是如何同步这些流程才能在我的任务中取得成功?

我想到了一个解决方案,我锁定整个桌子,在交易中注册钱包,确定注册费用,如果余额不足,我会回滚。但我不喜欢锁定整个桌子的想法,我宁愿以某种方式使用临时桌子或其他东西......有什么想法吗?

0 个答案:

没有答案