南大通用GBase 8c 视图依赖的DDL操作合集(南大通用 知乎)

文章转载来源:公众号“ClickHouse周边”《GBase 8c 视图依赖的DDL操作合集

更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

1、背景说明

GBase 8c 多模多态企业级分布式数据库具备高性能、高可用、弹性伸缩、高安全性等特性。

如果日常使用中表被视图引用的话,特定场景下,部分DDL操作是不能直接执行的,比如修改被视图引用的字段的类型,删除表等,而新增字段是可以操作,主要原因是视图引用了表的字段,修改的话视图也需要变化。下面演示一下这部分内容,被视图引用的表进行DDL操作会有什么表现。然后再看看怎么操作才能修改表字段等。

2、创建实验环境

2.1 创建表和视图

(1)创建2张测试表

CREATE TABLE t1 (id int,name varchar(20));

CREATE TABLE t2 (id int,name varchar(20));

(2)创建三张视图,所有视图都是使用了t1的字段,没有使用t2的字段。

CREATE OR REPLACE VIEW v1 as select * from t1;

CREATE OR REPLACE VIEW v2 as select a.* from t1 a inner join t2 b on a.id = b.id;

CREATE OR REPLACE VIEW v3 as select a.* from v1 a inner join v2 b on a.id = b.id inner join t1 c on a.id = c.id;

2.2 删除表

drop table t1;

drop table t2;

执行返回如下信息:

今日霍州(www.jrhz.info)©️

从执行结果提示来看,DROP TABLE是没有执行成功的,因为有视图依赖。可以通过DROP ...CASCADE来一起将依赖的视图删除,但是一般情况下我们不想将视图删除。

2.3 修改字段

ALTER TABLE T1 MODIFY NAME VARCHAR(30);

ALTER TABLE T2 MODIFY NAME VARCHAR(30);

今日霍州(www.jrhz.info)©️

从执行结果的提示来看,t1、t2表都修改成功了,t2很好理解,因为没有视图使用到t2的字段,虽然视图使用了t2表,但只是用来关联,视图的字段并没有使用t2表的字段,所以t2表的字段类型能修改成功。t1表能修改成功是因为级联也修改了v2视图的定义,解决了被视图引用的表定义不能修改的情况。

插入数据测试数据,并查询视图结果如下:

今日霍州(www.jrhz.info)©️

今日霍州(www.jrhz.info)©️

2.4 新增字段

ALTER TABLE T1 ADD COMMENT VARCHAR(30);

ALTER TABLE T2 ADD COMMENT VARCHAR(30);

今日霍州(www.jrhz.info)©️

新增字段没有任何限制,因为视图建立的时候,没办法引用还没有的字段。我们审视视图的定义CREATE VIEW v1 AS SELECT * FROM t1; 那此时v1会有新增的字段信息吗?答案是否定的,视图需要重新刷新才会有新增的字段。

select * from v2;

CREATE OR REPLACE VIEW v2 as select a.* from t1 a inner join t2 b on a.id = b.id;

select * from v2;

今日霍州(www.jrhz.info)©️

2.5 查找t2表关联的视图

通过with recursive xx as循环语句获取所有相关视图。

今日霍州(www.jrhz.info)©️

今日霍州(www.jrhz.info)©️

今日霍州(www.jrhz.info)©️

从结果看,t2表相关视图是v2,v3两个视图,假如需要备份v2,v3到文本中,可以使用gs_dump的方式。

gs_dump postgres -s -t v2 -t v3 -c -f view.ddl -p 5432

文章转载来源:公众号“ClickHouse周边”《GBase 8c 视图依赖的DDL操作合集

更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

特别声明:[南大通用GBase 8c 视图依赖的DDL操作合集(南大通用 知乎)] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

(露)生理实验系统虚实结合型 生理学实验系统 生理学实验系统软件 生物信号采集处理系统一体机(生理实验都有哪些)

蛙心灌流实验期前收缩与代偿间歇的关联性验证心肌细胞动作电位记录心肌细胞动作电位与心电图的同步采集分析心房 - 心室冲动传导机制研究兔减压神经放电监测兔动脉血压的调节机制验证静脉压定量测定血流动力学指标分析大…

(露)生理实验系统虚实结合型 生理学实验系统 生理学实验系统软件 生物信号采集处理系统一体机(生理实验都有哪些)

商业航天突破,助推航天强国起飞(国内商业航天的发展现状及未来发展)

可重复使用火箭技术被普遍认为是降低航天运输成本、提高发射频率的关键路径,使得太空活动从“『奢侈品』”转变为可规模化的经济活动。 同时,中国商业航天企业在这一领域的突破,不仅关乎商业利益,更与国家太空安全和发展利益…

商业航天突破,助推航天强国起飞(国内商业航天的发展现状及未来发展)

便利店老板打死不愿公开的秘密!竟藏在这台冰柜背后(便利店被抢)

便利店老板打死不愿公开的秘密!竟藏在这台冰柜背后(便利店被抢)

科普!孕妇吃樱桃对胎儿好不好?看完这篇全明白(孕妇吃樱桃的好处和坏处)

  在日常生活中,孕妇的饮食健康一直是备受关注的焦点。樱桃,这种色泽鲜艳、口感酸甜的水果,以其丰富的营养价值和独特的魅力,成为了许多孕妇餐桌上的常客。然而,孕妇吃樱桃对胎儿究竟好不好呢?接下来,让我们一同深入探讨孕妇吃樱桃与胎儿健康之间的微

科普!孕妇吃樱桃对胎儿好不好?看完这篇全明白(孕妇吃樱桃的好处和坏处)

大雾散于那年冬》 沈桑宁宋泊简林佳(大雾散去是什么意思)

沈桑宁发觉的时候,他为另一个女人拍摄的‘三十岁失业离婚女中十亿彩票后的人生’vlog已经火了。 身家清白都给了他,甚至隐婚,也是她自己同意的。沈桑宁的视线落在那条内裤上,想起一周前和宋泊简的对话。 沈桑宁…

《<strong>大雾散于那年冬</strong>》 沈桑宁宋泊简林佳(大雾散去是什么意思)