title: Does dropping a table drop its dependent trigger?
body: <blockquote>
    <p>Dropping a table invalidates dependent objects and removes object
    privileges on the table. If you want to re-create the table, then you
    must regrant object privileges on the table, re-create the indexes,
    integrity constraints, and triggers for the table, and respecify its
    storage parameters.</p>
  </blockquote>
  
  <p>I got little confused from this document. It says dropping a <code>table</code> <em>invalidates</em> dependent objects (lets say <code>trigger</code>). So on re-creating the table just <em>re-compiling</em> <code>trigger</code> should be enough to make the <code>trigger</code> valid right? But from doc it says we need to <em>re-create</em> <code>trigger</code>.</p>
  
  <p>Also I tried to a little analysis and found out on dropping a <code>table</code> its dependent <code>trigger</code> is getting <em>dropped</em> (Shouldn't it just get invalidated as per doc)</p>
  
  <pre><code> create table myteste1 (num int not null primary key);
  </code></pre>
  
  <p>Table MYTESTE1 created.</p>
  
  <pre><code> CREATE trigger mytrigger1
   after update on myteste1
   begin
   dbms_output.put_line('mytrigger1 called' );
   end;
  </code></pre>
  
  <p>Trigger MYTRIGGER1 compiled</p>
  
  <pre><code>SELECT * FROM user_objects where object_name=upper('mytrigger1');
  </code></pre>
  
  <p>Query Result  </p>
  
  <pre><code>Object_name |.....
  -------------------
  MYTRIGGER1  |......
  
  drop table myteste1;
  </code></pre>
  
  <p>Table MYTESTE1 dropped.</p>
  
  <pre><code>SELECT * FROM user_objects where object_name=upper('mytrigger1');
  </code></pre>
  
  <p>Query Result  </p>
  
  <pre><code>Object_name |.....
  -------------------
  </code></pre>