创建视图
例:创建一个视图v_emp10,通过该视图只能查看10号部门的员工编号,员工姓名,职位。
create view empvu10
as
select empno,ename,job,
from amp
where deptno = 10
练习
- 创建一个视图,通过该视图可以查询到工资在2000-5000内并且姓名中包含有A的员工编号,姓名,工资。
- 通过上述创建的视图查询数据
CREATE VIEW empss
AS
select empno,ename,sal
from amp
WHERE sal between 2000 and 5000 and ename like '%A%'
SELECT * FROM EMPSS
- 创建一个视图,通过该视图可以查询到每个部门的部门名称及最低工资。
CREATE VIEW EMPLL
AS
SELECT D.dname,MIN(sal)
FROM emp E JOIN dept D ON E.deptno=D.deptno
GROUP BY D.dname
修改视图
- 用 CREATE OR REPLACE VIEW子句修改视图empss,为每个列添加别名,并
添加deptno列
CREATE OR REPLACE VIEW EMPSS
AS
SELECT empno EMPLOYEE_NUMBER,ename YEE_NAME,sal SSAL,deptno FROM amp
WHERE sal between 2000 and 5000 and ename like '%A%'
视图上执行DML操作的规则
![](https://img.haomeiwen.com/i9505133/89cf70c17f35d34e.png)
![](https://img.haomeiwen.com/i9505133/e004a37a98ec6e71.png)
拒绝 DML 操作
- 在视图定义时使用WITH READ ONLY选项,可以确保不能对视图执行DML操作。
CREATE OR REPLACE VIEW EMPSS
AS
SELECT empno EMPLOYEE_NUMBER,ename YEE_NAME,sal SSAL,deptno FROM emp
WHERE sal between 2000 and 5000 and ename like '%A%'
with READ only
网友评论