sqlserver数据库的说明文档:
以下内容为程序代码:
1 只要满足下列条件,即可通过视图修改基础基表的数据:
2 任何修改(包括 UPD ATE、INS ERT 和 DEL ETE 语句)都只能引用一个基表的列。
3 视图中被修改的列必须直接引用表列中的基础数据。 不能通过任何其他方式对这些列进行派生,如通过以下方式:
4 聚合函数:AVG、COUNT、SUM、MIN、MAX、GRO UPING、ST DEV、STD EVP、VAR 和 VARP。
5 计算。 不能从使用其他列的表达式中计算该列。 使用集合运算符 UN ION、UN ION ALL、CROSS JOIN、EX CEPT 和 INTE RSECT 形成的列将计入计算结果,且不可更新。
6 被修改的列不受 G ROUP BY、HA VING 或 DIST INCT 子句的影响。
7 TOP 在视图的 sel ect_state ment 中的任何位置都不会与 WI TH CHE CK OP TION 子句一起使用。
8 上述限制应用于视图的 FR OM 子句中的任何子查询,就像其应用于视图本身一样。 通常情况下,数据库引擎必须能够明确跟踪从视图定义到一个基表的修改。
其它数据库的限制条件可能还不完全一样,所以通过视图来修改数据其实没多大用处,仅限于一些特殊场合。对于狐表来说完全可以通过其它方式完美替代