对视图执行 DML 操作的限制,算是 SQL 开发中一个挺容易踩坑的点。尤其是在写复杂视图的时候,发现DELETE
、UPDATE
老是报错,基本都是语法或结构不合规范。像分组函数、GROUP BY
、DISTINCT
这些东西,一旦出现在子查询里,DML 基本就别想用了,系统直接拦你没商量。哦对,还有ROWNUM
、计算列
这些也都不行,容易忽略的一点是——你要INSERT
数据,结果视图没包含所有NOT NULL
列,那也插不进去。
SQL第06章索引与视图中的DML操作限制
相关推荐
Oracle SQL与PL-SQL中执行DML操作的视图规则
在Oracle SQL与PL-SQL中,简单视图可以执行DML操作,但是如果视图包含聚集函数、GROUP BY子句或DISTINCT关键字,则不能直接删除数据行。根据明确的规则,您可以通过视图执行对数据的DML操作。
Oracle
9
2024-08-15
DBS视图数据更新操作限制详解-经典SQL例题与教材
DBS不允许更新视图的操作存在多种限制条件:⑴视图由两个以上基本表导出;⑵视图列包含列表达式函数;⑶视图中包含分组子句或使用DISTINCT;⑷视图定义包含嵌套查询,并且内层查询涉及与外层相同的基本表;⑸在不允许更新的视图上定义新视图。
SQLServer
9
2024-07-27
基于基本表创建索引与视图操作的SQL实现
索引创建
在图书表中按出版社号建立一个非聚集索引PublishingnoIdx:sqlCREATE NONCLUSTERED INDEX PublishingnoIdx ON 图书(Publishingno);
在读者表中按身份证号建立一个非聚集索引IdentifycardIdx:sqlCREATE NONCLUSTERED INDEX IdentifycardIdx ON 读者(身份证号);
在读者表中,首先按工作单位的升序,然后按最大借书数量降序建立一个非聚集索引WorkunitCountIdx:sqlCREATE NONCLUSTERED INDEX WorkunitCoun
MySQL
13
2024-10-29
Oracle OEM创建视图与数据库索引操作指南Oracle OEM视图创建与数据库索引操作指南Oracle OEM视图创建与索引配置教程Oracle OEM视图创建与索引配置指南Oracle OEM视图创建与索引管理教程Oracle OEM视图创建与索引管理指南Oracle OEM视图创建与索引配置指南Oracle OEM视图创建与索引配置指南Oracle OEM视图创建与索引操作指南Oracle OEM视图创建与索引操作指南Oracle OEM视图创建与索引配置指南Oracle OEM视图创建与索引配
OEM 里的视图创建功能,挺适合新手练手也方便老手做配置。输入列名、别名这些基本信息就能搞定,响应也快,不容易出错。你要是习惯用图形界面操作 Oracle 数据库,那这个 PPT 内容还挺对胃口的。输入的“别名”就是你在视图里要展示的列名,比如原表是user_id,你想让它在视图里叫uid,就在别名那一栏改下就行。讲真,用 OEM 建视图没那么神秘,说白了就是图形化封装了 SQL 语句。你点几下,后台其实就是生成一段CREATE VIEW语句。有时候调试查询结果还挺方便,尤其是你不想每次都写 SELECT 语句。配合那些索引功能用起来,性能也不差,页面操作清晰,适合数据量中等的场景。如果你平时
Oracle
0
2025-06-15
使用SQL语法全面理解从视图中创建视图的方法
在SQL语法中,创建视图的方式可以通过以下步骤实现:首先,使用CREATE VIEW语句定义新的视图名称,例如CREATE VIEW2 AS SELECT * FROM VIEW1。需要注意的是,避免创建过深层次的视图,以免出现类似employee_summary CREAT subsummary AS SELECT * FROM employee_summary的情况。
SQLServer
11
2024-07-22
SQL更新操作指南第3章
更新操作的 SQL 语句用得好,改数据就像开外挂,效率直接拉满。update 表名 set 列名 = 表达式,你只要把语法掌握清楚,批量改分数、同步状态这些操作,分分钟搞定。比如想给学生成绩提个 5%,直接一条update sc set grade = grade * 1.05就行,清爽又直接。还有一点,where 条件别忘了用,不然就全表更新了,老板看见会提刀来找你。建议开发测试环境先跑一遍,稳妥。对表达式和子查询不熟的朋友,顺便可以看看几个扩展文章,像正则表达式、PL/SQL 算术表达式,都挺实用的。哦对了,更新操作跟delete一样,属于危险操作,习惯加个begin和rollback测试
SQLServer
0
2025-06-29
Oracle 11g数据库第5章SQL语言基础(DML).ppt
Oracle 11g的SQL语言基础(DML)探讨了数据库操作的核心内容。
Oracle
9
2024-08-01
优化与管理第5章表格操作
SQL Server中第5章表格操作的优化与管理方法。
SQLServer
8
2024-07-28
SQL Server实验5索引与视图
SQL Server 里索引和视图这俩玩意,说难不难,但真想用得溜,还得多练练。这份实验文档就是个挺不错的练手材料。各种索引怎么建、怎么删、怎么查,图形界面和 SQL 语句两手抓,讲得清清楚楚。视图那部分也蛮实用,从创建到修改再到删除,操作顺序都安排得明明白白。关键是每一步都有示例代码,照着敲基本不会错,像是老司机手把手带你过关。如果你正好在用 SQL Server 学习数据库管理,这文档真挺值得收藏的。
算法与数据结构
0
2025-06-14