【发布时间】:2020-11-19 07:54:42
【问题描述】:
我的 postgres 数据库中有一个名为 rpt.view_refresh_schedule 的表。此表包含存储在我的数据库中的具体化视图的名称,我想按计划刷新。
我已经编写了下面的查询,它获取 rpt.view_refresh_schedule 表中的每条记录并构建一个动态查询来刷新每个表。
select CONCAT('REFRESH MATERIALIZED VIEW ' || view_name || ';') as script from rpt.view_refresh_schedule
该查询的输出如下:
REFRESH MATERIALIZED VIEW mv_user_trading_activity;
REFRESH MATERIALIZED VIEW mv_orders;
我想创建一个函数来执行由上述 sql 生成的动态查询。我怎样才能做到这一点?我看过其他从单个字符串执行查询的帖子,但这是多个命令。在 python 中,我会遍历结果并执行每一个。 postgres中有类似的东西吗?我尝试了 LOOP 功能,但没有成功。
【问题讨论】:
标签: sql postgresql dynamic-sql materialized-views