数据库原理当中哪类视图是可以更新的哪类不能?各举一例说明
时间: 2023-11-19 22:04:54 浏览: 152
数据库原理中,基本视图和虚拟视图是可以更新的,而派生视图是不可更新的。
基本视图是基于一个或多个表的 SELECT 语句创建的视图,可以对其进行 INSERT、UPDATE 和 DELETE 操作,例如:
```sql
CREATE VIEW employee_view AS
SELECT emp_id, emp_name, emp_salary
FROM employee
WHERE emp_dept = 'IT';
```
虚拟视图也是基于 SELECT 语句创建的视图,但是它不是基于单个表,而是基于多个表进行联接而创建的视图,可以对其进行 INSERT、UPDATE 和 DELETE 操作,例如:
```sql
CREATE VIEW employee_dept_view AS
SELECT emp.emp_id, emp.emp_name, dept.dept_name
FROM employee emp
INNER JOIN department dept ON emp.emp_dept_id = dept.dept_id;
```
派生视图是基于基本视图或其他派生视图创建的视图,无法进行 INSERT、UPDATE 和 DELETE 操作,例如:
```sql
CREATE VIEW employee_salary_view AS
SELECT emp_id, emp_name, emp_salary, emp_salary * 0.1 AS bonus
FROM employee_view;
```
因为此视图是基于 employee_view 视图创建的,所以无法对其进行更新操作。
阅读全文