SQL视图数据更新与事务处理全解析
1. 可更新视图概述
可更新视图允许对其执行 INSERT、UPDATE 和 DELETE 操作,这些操作会明确地影响底层表的数据。其 INSERT、UPDATE 和 DELETE 语句的语法与对表操作时相同。不可更新(只读)视图不支持这些操作,因为数据更改会产生歧义,若要更改只读视图中的数据,需直接修改底层表(或通过其他无歧义的视图)。
可更新视图的每行与底层基表的一行精确关联。若视图的 SELECT 语句使用了 GROUP BY、HAVING、DISTINCT 或聚合函数,则该视图不可更新。
1.1 可更新视图的类型
以下是一些可定义可更新视图的查询类型:
- 一对一内连接
- 一对一外连接
- 一对多内连接
- 一对多外连接
- 多对多连接
- UNION 和 EXCEPT 查询
1.2 示例视图创建
以下代码创建并显示了一个名为 ny_authors 的视图,该视图列出了来自纽约州的作者的 ID、姓名和所在州:
CREATE VIEW ny_authors
AS
SELECT au_id, au_fname, au_lname, state
FROM authors
WHERE state = 'NY';
SELECT *
FROM ny_authors;
2. 通过视图插入行
2.1 插入符合视图条件的行
使用以下代码通
超级会员免费看
订阅专栏 解锁全文
3060

被折叠的 条评论
为什么被折叠?



