Sql Postgres将视图创建为非视图
维护前员工的代码时发现了一条我无法理解的SQL:Sql Postgres将视图创建为非视图,sql,postgresql,Sql,Postgresql,维护前员工的代码时发现了一条我无法理解的SQL: CREATE OR REPLACE VIEW my_view AS Not a view 没有关于官方文件的信息,我一直在寻找关于这个查询的信息,但没有结果 有什么提示吗?视图已被删除 您的脚本是由使用的应用程序生成的。如果没有具有给定oid的视图,则函数返回字符串nota view。简单测试: create view my_view as select 1; select oid from pg_class where relname
CREATE OR REPLACE VIEW my_view AS Not a view
没有关于官方文件的信息,我一直在寻找关于这个查询的信息,但没有结果
有什么提示吗?视图已被删除
您的脚本是由使用的应用程序生成的。如果没有具有给定oid的视图,则函数返回字符串nota view
。简单测试:
create view my_view as select 1;
select oid
from pg_class
where relname = 'my_view';
oid
--------
151388
(1 row)
select pg_get_viewdef(151388);
pg_get_viewdef
----------------
SELECT 1;
(1 row)
drop view my_view;
select pg_get_viewdef(151388);
pg_get_viewdef
----------------
Not a view
(1 row)
请注意,并不意味着我的视图
不存在。如果重新创建视图,它将有另一个oid。唯一确定的结论是您的脚本不是最新的(它与数据库的当前内容不一致)。作为补救措施,您应该使用SQL格式的模式,例如
pg_dump --schema-only --format=plain my_database > my_database.dump
我以前从未见过这个,在这里看到答案会很酷。你确定这是SQL吗?您能显示更多的周围代码吗?这看起来像是故意试图生成错误。这在sqlfiddle上失败