问题描述
我正在尝试创建一个函数,该函数可以作为日常处理的一部分进行调用,以刷新我们所有的物化视图。我希望这是动态的,因为在定义此函数后可能会添加新的物化视图。这是我所拥有的:
CREATE OR REPLACE FUNCTION refresh_all_materialized_views(schema_arg varchar)
RETURNS INT VOLATILE AS $$
DECLARE
row RECORD;
BEGIN
RAISE NOTICE 'Refreshing materialized view in schema %',schema_arg;
FOR row IN SELECT name from STV_MV_INFO where schema = schema_arg
LOOP
RAISE NOTICE 'Refreshing %.%',schema_arg,r.name;
EXECUTE 'REFRESH MATERIALIZED VIEW ' || schema_arg || '.' || r.name;
END LOOP;
RETURN 1;
END;
$$ LANGUAGE sql;
Redshift 抛出错误说明:
[42601][500310] 亚马逊无效操作:“RECORD”位置或附近的语法错误:125;
我不确定什么是不正确的。如果“RECORD”不是有效类型,如何实现这样的动态 SQL?感谢您的时间!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)