0
点赞
收藏
分享

微信扫一扫

视图所依赖的表被删除后 对该视图的影响

数据库:oracle 19.12
测试目标:视图所依赖的表被删除后,测试对该视图的影响.
操作过程:
SQL> create view v_emp90
2 as
3 select employee_id,last_name,salary
4 from emp;

View created.
SQL> desc emp;
Name Null? Type
----------------------------------------------------- -------- ------------------------------------
EMPLOYEE_ID NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NOT NULL NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)

SQL> drop table emp purge;

Table dropped.

SQL> select * from v_emp90;
select * from v_emp90
*
ERROR at line 1:
ORA-04063: view "ORA1.V_EMP90" has errors


SQL> desc v_emp90
ERROR:
ORA-24372: invalid object for describe

SQL> select object_name,object_type,to_char(created,'yyyy-mm-dd hh24:mi:ss') from user_objects where object_type='VIEW';

OBJECT_NAME OBJECT_TYPE TO_CHAR(CREATED,'YY
------------------------------ ----------------------- -------------------
V_EMP80 VIEW 2022-06-26 19:09:09
V_EMP50 VIEW 2022-06-26 19:19:58
V_EMP VIEW 2022-06-26 19:53:16
V_EMP20 VIEW 2022-06-26 19:58:40
V_EMP10 VIEW 2022-06-26 20:12:55
V_EMP90 VIEW 2022-06-29 13:20:29

6 rows selected.
SQL> drop view V_EMP90;

View dropped.

结论:当表被删除后,依赖该表的视图也变得无效,但是视图名字依然存在.

举报

相关推荐

0 条评论