PostgreSQL:如何使函数存储其最后返回的值?

时间:2019-05-02 09:03:03

标签: postgresql sql-function

我想实现一个smooth_random函数,该函数返回一个与前一个值相差不超过定义步骤的值。是否可以存储该函数的最后一个返回值?

1 个答案:

答案 0 :(得分:1)

将数据持久保存在数据库中的最佳方法是表。因此,原则上您可以有一个包含一行存储值的表。

如果同时在多个事务中调用该函数,事情会变得更加困难,那么行为将是不确定的。

使用UPDATE ... RETURNING更新并从表中检索存储的值将通过行锁对访问进行序列化,因此一个并发调用将不得不等待,直到上一个调用完成为止。