如果未指定缺省值,则在视图中未定义的底层表中的列收到缺省值或 NULL 值。如果这些列之一没有缺省值,且不允许 NULL 值,则 INSERT 失败。
您可使用数据完整性约束来防止用户将值插入到不符合视图定义 SELECT 语句的底层表内。要获取进一步的信息,请参阅 WITH CHECK OPTION 关键字。
如果 INSTEAD OF 触发器在其 Action 子句中指定有效的 INSERT 操作,则您可通过 single-table 或 multiple-table 视图插入行。要获得关于如何创建通过视图插入的 INSTEAD OF 触发器的信息,请参阅 视图上的 INSTEAD OF 触发器。
CREATE VIEW salary_view AS SELECT lname, fname, current_salary FROM salary WHERE entered_by = USER; INSERT INTO salary VALUES ('Smith', 'Pat', 75000, USER);