我的postgres数据库中有一个名为rpt.view\u refresh\u schedule的表。此表包含存储在数据库中的具体化视图的名称,我希望按计划刷新这些视图。
我编写了下面的查询,它获取rpt.view\u refresh\u 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中,我只是循环结果并执行每个结果。博士后也有类似的情况吗?我尝试过循环函数,但没有成功。
2条答案
按热度按时间q9yhzks01#
请尝试一下:
iih3973s2#
如果您使用的是psql,则可以这样做,而无需编写函数: