[每日一题] OCP1z0-047 :2013-07-26 alter table set unused之后各种情况处理(二)

2014-11-24 15:12:26 · 作者: · 浏览: 1
---- ---------- 198 Donald 124 199 Douglas 124 省略结果。。。。。

数据字典中manager_id列的约束被删除了。所以答案B对
gyj@OCM> select CONSTRAINT_NAME from user_constraints wheretable_name='EMP';

no rows selected

去查视图,报错如下:
gyj@OCM> select * from v_emp;
select * from v_emp
              *
ERROR at line 1:
ORA-04063: view "GYJ.V_EMP" has errors

此时视图不能用了。。。答案C的意思必须删除这个视图再重建这个视图才行,一定要这做吗?我不重建视图,在视图所在表中重新添加manager_id这一列,看看视图能不能用:
gyj@OCM> alter table emp add( MANAGER_ID NUMBER(6));

Table altered.

gyj@OCM> select * from v_emp;

EMPLOYEE_ID FIRST_NAME          MANAGER_ID
----------- -------------------- ----------
        198 Donald
        199 Douglas

省略结果。。。
说明视图无须删除和重建,只在表中添加刚刚被unused的这列就可以了,所以答案C错的
数据字典中manager_id列的索引被删除了。所以答案D错
gyj@OCM>  select index_name fromuser_indexes where table_name='EMP';

no rows selected

正确答案是:B