删除表会使依赖对象无效并删除对象 桌子上的特权。如果你想重新创建表,那么你 必须在表上重新授予对象权限,重新创建索引, 表的完整性约束和触发器,并重新指定它 存储参数。
我对此文件感到困惑。它表示删除table
会使依赖对象无效(假设为trigger
)。那么在重新创建表时,重新编译 trigger
应该足以使trigger
有效吗?但是从doc开始,我们需要重新创建 trigger
。
此外,我尝试进行一些分析,发现放弃table
其依赖trigger
正在被删除(不应该因此而失效) DOC)
create table myteste1 (num int not null primary key);
表MYTESTE1已创建。
CREATE trigger mytrigger1
after update on myteste1
begin
dbms_output.put_line('mytrigger1 called' );
end;
触发MYTRIGGER1编译
SELECT * FROM user_objects where object_name=upper('mytrigger1');
查询结果
Object_name |.....
-------------------
MYTRIGGER1 |......
drop table myteste1;
表MYTESTE1掉线了。
SELECT * FROM user_objects where object_name=upper('mytrigger1');
查询结果
Object_name |.....
-------------------