问题描述
我从oracle数据库中提取了MVIEW语句,并在postgresql db中执行了这些语句。
我得到以下错误:
错误:“ @”处或附近的语法错误。 MVIEW语句的语法是:从target @ dblink中选择*****创建CREATE物化视图XYS。
我不确定postgresql mview是否可以识别或分析'@'符号。请帮忙。
请帮助。
解决方法
SQL是标准化的,但是每个数据库都有自己的方言,因此您不能期望非标准的SQL语句从Oracle移植到PostgreSQL。
您将使用PostgreSQL中的外部表而不是使用数据库链接,因此,根据目标表的位置,您将安装postgres_fdw或oracle_fdw。
此外,CREATE MATERIALIZED VIEW
语句在PostgreSQL和Oracle中有所不同。 PostgreSQL在Oracle中只有所谓的REFRESH COMPLETE ON DEMAND
,所以很有可能您需要重新设计一下。