SQL_VIEW视图错位的处理方式和注意

1.问题

视图VIEW1在VIEW2有串用,在VIEW1中最前面增加栏位 L3,未重新编译导致VIEW2视图中的栏位均错位一位。

2.问题详细说明

表1 L : 三个栏位L1,L2,L3

表2 A : 三个栏位A1,A2,A3

表3 B : 三个栏位B1,B2,B3

VIEW1:

|-----------------------------------------------------------------------------------|---------------------------------------------------------------------------------------|
| 原本 | 调整后 |
| CREATE VIEW VIEW1 -- ======================= AS SELECT L1,L2,A.* FROM L.L1= A.A1 | CREATE VIEW VIEW1 -- ======================= AS SELECT L3, L1,L2,A.* FROM L.L1= A.A1 |

VIEW2

|----------------------------------------------------------------------------------------------------------|
| 视图 |
| CREATE VIEW VIEW2 -- ======================= AS SELECT A.*,D.B2 FROM VIEW1 C LEFT JOIN B D ON C.L1=D.B1 |

只更新VIEW1,未重新编译VIEW2的情况下若使用SELECT * FROM VIEW2 会导致显示的数据内容对应连续错一位。

3.解决办法

重新对引用 VIEW1的VIEW2均需要再重新编译一次,同时建议一般新增需要的栏位,放到最后,避免影响最少。

|---------------------------------------------------------------------------------------------------------|
| ALTER VIEW VIEW2 -- ======================= AS SELECT A.*,D.B2 FROM VIEW1 C LEFT JOIN B D ON C.L1=D.B1 |

相关推荐
伏虎山真人几秒前
开源数据库 - mysql - mysql-server-8.4(gtid主主同步+ keepalived热切换)部署方案
数据库·mysql·开源
FIN技术铺3 小时前
Redis集群模式之Redis Sentinel vs. Redis Cluster
数据库·redis·sentinel
CodingBrother4 小时前
MySQL 中的 `IN`、`EXISTS` 区别与性能分析
数据库·mysql
代码小鑫4 小时前
A027-基于Spring Boot的农事管理系统
java·开发语言·数据库·spring boot·后端·毕业设计
小小不董5 小时前
Oracle OCP认证考试考点详解082系列16
linux·运维·服务器·数据库·oracle·dba
甄臻9245 小时前
Windows下mysql数据库备份策略
数据库·mysql
内蒙深海大鲨鱼5 小时前
qt之ui开发
数据库·qt·ui
不爱学习的YY酱5 小时前
【计网不挂科】计算机网络第一章< 概述 >习题库(含答案)
java·数据库·计算机网络
Mephisto.java5 小时前
【大数据学习 | HBASE高级】storeFile文件的合并
大数据·sql·oracle·json·hbase·database
这样の我5 小时前
hbase集成phoenix
大数据·数据库·hbase