注册
达梦数据库-错误码-[-2649/-2650/-2651]-分析处理
技术分享/ 文章详情 /

达梦数据库-错误码-[-2649/-2650/-2651]-分析处理

PYZ 2024/06/27 956 0 0

错误码:-2649/-2650/-2651
错误内容:试图插入/删除/更新只读视图

原因:

  1. 如果视图建在单个基表或单个可更新视图上,且该视图包含了表中的全部聚集索引键,则该视图为可更新视图;
  2. 如果视图由两个以上的基表导出时,则该视图不允许更新;
  3. 如果视图列是集函数,或视图定义中的查询说明包含集合运算符、GROUP BY 子句或 HAVING 子句,则该视图不允许更新;
  4. 在不允许更新视图之上建立的视图也不允许更新。

示例:

--创建视图(多表关联) create or replace view v_ed1 as select e.employee_id,e.last_name,e.manager_id,e.department_id,d.department_name from employees e inner join departments d on e.department_id=d.department_id; insert into v_ed1 values(200,'Tony',100,70,'IT'); -2649: 第1 行附近出现错误: 试图插入只读视图[V_ED1] delete from v_ed1 where employee_id=101; -2650: 第1 行附近出现错误: 试图删除只读视图[V_ED1]数据 update v_ed1 set manager_id=121 where employee_id=188; -2651: 第1 行附近出现错误: 试图更新只读视图[V_ED1]

问题处理:

视图数据的更新包括插入(INSERT)、删除(DELETE)和修改(UPDATE)三类操作。
由于视图是虚表,并没有实际存放数据,因此对视图的更新操作均要转换成对基表的操作。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服