为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8 20220630
【操作系统】:鲲鹏麒麟
【CPU】:
【问题描述】*:不支持多表视图使用for update
如:select * from view_table for update;–此表达式不允许for update
create view view_table (id,name)as select * from table_1 union all select * from table_2;
union是将不同的数据展现,这样的数据和表里面的字段不一致,所以不能for update
不同的关系数据库管理系统产品对更新视图的可操作程度均有差异。DM系统有这样的规定:
如果视图建在单个基表或单个可更新视图上,且该视图包含了表中的全部聚集索引键,则该视图为可更新视图;
如果视图由两个以上的基表导出时,则该视图不允许更新;
如果视图列是集函数,或视图定义中的查询说明包含集合运算符、GROUP BY子句或HAVING子句,则该视图不允许更新;
在不允许更新视图之上建立的视图也不允许更新。
你这个是两个表的union all,是不可更新视图