今天在CSDN看到了一个帖子,内容如下:
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
关于视图修改限制的解释如下:
1、通过视图修改数据时,视图不能影响一个以上的基础对象。假设视图A是基于表table1和表table2创建的。那么,你可以通过视图A修改table1的数据,或者修改table2的数据。但不允许同时修改table1和table2的数据。
2、 对某些列不能进行修改。这些列是:计算值、内置函数和行集合函数。
3、 影响具有NOT NULL列的修改时会出错。在通过视图修改或插入数据时,必须保证未显
示的列有值。假设:我们在table1上创建了一个视图,table1有三列: c1、c2和c3。视图是创建在c1和c2上。那么,通过视图对table1插入数据时,必须保证c3有值(可以是缺省、NULL、IDENTITY或TIMESTAMP),否则不能向视图中插入行。
4、删除基础对象不删除视图。建议采用与表明显不同的名字命名视图。