Sql 如何在函数中使用查询结果执行更新

Sql 如何在函数中使用查询结果执行更新,sql,database,postgresql,Sql,Database,Postgresql,我对SQL非常陌生,目前正在使用Postgres执行函数。基本上,我希望函数1)首先执行查询,2)根据条件更新指定字段,3)返回结果 创建或替换函数get_过期() 返回表( 过期的布尔值, 到期日 ) $$ 开始 从预订中选择过期、到期日; 如果现在()::日期>到期日::日期,则 --我想执行并返回以下查询结果:updatebookingsetoversed=true其中(上述查询的结果) 如果结束; 结束$$ 如果我能很好地理解逻辑,您可以在一个查询中完成此操作: update booki

我对SQL非常陌生,目前正在使用Postgres执行函数。基本上,我希望函数1)首先执行查询,2)根据条件更新指定字段,3)返回结果

创建或替换函数get_过期()
返回表(
过期的布尔值,
到期日
)
$$
开始
从预订中选择过期、到期日;
如果现在()::日期>到期日::日期,则
--我想执行并返回以下查询结果:updatebookingsetoversed=true其中(上述查询的结果)
如果结束;
结束$$

如果我能很好地理解逻辑,您可以在一个查询中完成此操作:

update booking
set overdue = true
where due_date < current_date
returning *;
更新预订
设置过期=真
其中到期日<当前日期
返回*;