标签: postgresql sql-function
我想实现一个smooth_random函数,该函数返回一个与前一个值相差不超过定义步骤的值。是否可以存储该函数的最后一个返回值?
smooth_random
答案 0 :(得分:1)
将数据持久保存在数据库中的最佳方法是表。因此,原则上您可以有一个包含一行存储值的表。
如果同时在多个事务中调用该函数,事情会变得更加困难,那么行为将是不确定的。
使用UPDATE ... RETURNING更新并从表中检索存储的值将通过行锁对访问进行序列化,因此一个并发调用将不得不等待,直到上一个调用完成为止。
UPDATE ... RETURNING