mysql怎么更新视图
作者:若安舟已远
时间:2023-04-25
来源:互联网
浏览:0
1、有些视图是不可更新的,因为这些视图的更新不能唯一有意义地转换为相应的基本表。2、一般来说,可以更新行列子集视图。除列子集视图外,理论上还可以更新一些视图。实例--创建视图ldq_t1CREATEVIEWldq_t1ASSELECT*FROMt3WHEREid1>10WITHCHECKOPTION;--查询ldq_t1中的所有结果SELECT*FROMldq_t1;--创建视图ldq_t2CREATEVIEWldq_t2ASSELECT*FROMldq_t1WHEREid1
1、有些视图是不可更新的,因为这些视图的更新不能唯一有意义地转换为相应的基本表。
2、一般来说,可以更新行列子集视图。除列子集视图外,理论上还可以更新一些视图。
实例
-- 创建视图 ldq_t1 CREATE VIEW ldq_t1 AS SELECT * FROM t3 WHERE id1 > 10 WITH CHECK OPTION ; -- 查询ldq_t1中的所有结果 SELECT * FROM ldq_t1; -- 创建视图 ldq_t2 CREATE VIEW ldq_t2 AS SELECT * FROM ldq_t1 WHERE id1 < 30 WITH LOCAL CHECK OPTION ; -- 创建视图 ldq_t3 CREATE VIEW ldq_t3 AS SELECT * FROM ldq_t1 WHERE id1 < 30 WITH CHECK OPTION ; -- 更新视图ldq_t2(只有ldq_t2中存在的数据都可以更新) SELECT * FROM ldq_t2; -- 查看ldq_t2当前记录 UPDATE ldq_t2 SET id1=5 WHERE id2=22; -- 可以执行成功 UPDATE ldq_t2 SET id1=35 WHERE id2=22; -- 将会报错CHECK OPTION failed(因为执行该语句之后,id2=22记录将从ldq_t2消失) UPDATE ldq_t2 SET id1=28 WHERE id2=22; -- 可以执行成功 -- 更新ldq_t3 SELECT * FROM ldq_t3; UPDATE ldq_t3 SET id1=5 WHERE id2=22; -- 将会报错CHECK OPTION failed(因为数据更新之后,必须还要保证其仍然在ldq_t3和ldq_t1之中,该语句执行后id2=22记录将从ldq_t1消失) UPDATE ldq_t3 SET id1=15 WHERE id2=22; -- 能够执行成功 UPDATE ldq_t3 SET id1=35 WHERE id2=22; -- 将会报错CHECK OPTION failed(因为执行该语句之后,id2=22记录将从ldq_t3消失) DELETE FROM ldq_t3 WHERE id2=22; -- 执行成功
作者最新文章
Word格式转换成PDF?Word转PDF的具体步骤是什么?
2026-09-02 19:13
长安猎手K50 2026款上市,14.19万元起售
2026-08-25 16:08
价格大跳水,网友惊呼买早了!两大巨头正面交锋,最高直降2500元,几乎所有品类“你降我也降”
2026-08-25 16:02
全新奥迪Q3 L申报信息揭晓,车身尺寸升级,动力配置保持强劲
2026-08-25 15:44
iPhone15ProMax屏幕常亮怎么设置 iPhone15ProMax屏幕常亮设置方法
2026-08-25 15:31
上一篇:
mysql中的不等于怎么使用
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多
Windows 10
Windows
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式
Windows/macOS/Linux
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















