前言 之前曾经编写过一篇关于多表可更新视图的文章而事实上ORACLE并不是要求所有的可更新视图都需要带触发器 只要要求更新的字段属于同一张数据表(简称更新表而且其它表与更新表是正常的关联关系则此视图就可以更新 但是一句复杂的SELECT编制的视图出现错误时可能的问题点是千奇百怪的排除错误所需要耗费的时间通常较多 复杂的问题仍是由简单的技术来实现 技术要点 ORACLE系统表中有一张视图记录所有可以更新和不可以更新的视图(和数据表)User_Updateable_Columns 该视图字段如下: NameType Nullable Default Comments OWNER VARCHAR()Table owner TABLE_NAMEVARCHAR()Table name COLUMN_NAME VARCHAR()Column name UPDATABLE VARCHAR()YIs the column updatable? INSERTABLEVARCHAR()YIs the column insertable? DELETABLE VARCHAR()YIs the column deletable? 使用Select * From user_Updateable_Columns Where Table_name=Upper(YourViewname) 即可查询视图中哪些字段是允许更新的 实例参考 点击此处下载armokrar |