删除表是否会丢弃其依赖触发器?

时间:2018-01-05 16:54:19

标签: oracle triggers sql-drop

  

删除表会使依赖对象无效并删除对象   桌子上的特权。如果你想重新创建表,那么你   必须在表上重新授予对象权限,重新创建索引,   表的完整性约束和触发器,并重新指定它   存储参数。

我对此文件感到困惑。它表示删除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 |.....
-------------------

0 个答案:

没有答案