暂无图片
视图源定义信息为啥和创建的语句不一样?
我来答
分享
暂无图片 匿名用户
视图源定义信息为啥和创建的语句不一样?

视图源定义信息为啥和创建的语句不一样?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
L
lucky

视图源定义信息是存在pg_description.description 列中,这里有的和创建语句一致,有的不一致。这个和视图的状态有关。下面是获取视图定义的信息规则:

²  有效视图:通过Sys_rewrite规则query查询树,反解析query查询获得视图的定义信息。

²  无效视图:直接通过pg_description.description,得到定义信息

获取视图定义:查询sys_get_viewdef(reloid),如下例子

TEST=# create force view vtest as select * from test;

WARNING:  View created with compilation errors

CREATE VIEW

TEST =# select sys_get_viewdef('VTEST'::regclass);

   PG_GET_VIEWDEF

---------------------

 select * from test;

暂无图片 评论
暂无图片 有用 1
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏