<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.sqle.ru/index.php?action=history&amp;feed=atom&amp;title=Oracle_PL%2FSQL_Tutorial%2FTable%2FDrop_Table</id>
		<title>Oracle PL/SQL Tutorial/Table/Drop Table - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.sqle.ru/index.php?action=history&amp;feed=atom&amp;title=Oracle_PL%2FSQL_Tutorial%2FTable%2FDrop_Table"/>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Table/Drop_Table&amp;action=history"/>
		<updated>2026-05-24T10:13:07Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Table/Drop_Table&amp;diff=3064&amp;oldid=prev</id>
		<title> в 13:45, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Table/Drop_Table&amp;diff=3064&amp;oldid=prev"/>
				<updated>2010-05-26T13:45:46Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 13:45, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Table/Drop_Table&amp;diff=3065&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Table/Drop_Table&amp;diff=3065&amp;oldid=prev"/>
				<updated>2010-05-26T10:04:57Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Drop only if table exists.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt; BEGIN&lt;br /&gt;
  2&lt;br /&gt;
  3    FOR i IN (SELECT table_name FROM user_tables WHERE table_name = &amp;quot;SHARED_ALL&amp;quot;) LOOP&lt;br /&gt;
  4      EXECUTE IMMEDIATE &amp;quot;DROP TABLE shared_all&amp;quot;;&lt;br /&gt;
  5    END LOOP;&lt;br /&gt;
  6&lt;br /&gt;
  7  END;&lt;br /&gt;
  8  /&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Dropping a Table==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- create demo table&lt;br /&gt;
SQL&amp;gt; create table myTable(&lt;br /&gt;
  2    id           NUMBER(2),&lt;br /&gt;
  3    value        NUMBER(6,2)&lt;br /&gt;
  4  )&lt;br /&gt;
  5  /&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- prepare data&lt;br /&gt;
SQL&amp;gt; insert into myTable(ID,  value)values (1,9)&lt;br /&gt;
  2  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into myTable(ID,  value)values (2,2.11)&lt;br /&gt;
  2  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into myTable(ID,  value)values (3,3.44)&lt;br /&gt;
  2  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into myTable(ID,  value)values (4,-4.21)&lt;br /&gt;
  2  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into myTable(ID,  value)values (5,10)&lt;br /&gt;
  2  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into myTable(ID,  value)values (6,3)&lt;br /&gt;
  2  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into myTable(ID,  value)values (7,-5.88)&lt;br /&gt;
  2  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into myTable(ID,  value)values (8,123.45)&lt;br /&gt;
  2  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into myTable(ID,  value)values (9,98.23)&lt;br /&gt;
  2  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; select * from myTable&lt;br /&gt;
  2  /&lt;br /&gt;
        ID      VALUE&lt;br /&gt;
---------- ----------&lt;br /&gt;
         1          9&lt;br /&gt;
         2       2.11&lt;br /&gt;
         3       3.44&lt;br /&gt;
         4      -4.21&lt;br /&gt;
         5         10&lt;br /&gt;
         6          3&lt;br /&gt;
         7      -5.88&lt;br /&gt;
         8     123.45&lt;br /&gt;
         9      98.23&lt;br /&gt;
9 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- clean the table&lt;br /&gt;
SQL&amp;gt; drop table myTable&lt;br /&gt;
  2  /&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== DROP TABLE with CASCADE CONSTRAINTS==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE ONSITE_SCHEDULE (&lt;br /&gt;
  2    SALESMAN_ID   NUMBER,&lt;br /&gt;
  3    VISIT_DATE    DATE,&lt;br /&gt;
  4    COMPANY_NAME  VARCHAR2(50),&lt;br /&gt;
  5    COMPANY_URL   VARCHAR2(200) ) ;&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DROP TABLE ONSITE_SCHEDULE CASCADE CONSTRAINTS ;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== ORA-04091: table JAVA2S.DETAIL_TABLE is mutating, trigger/function may not see it==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE master_table&lt;br /&gt;
  2  (master_id NUMBER NOT NULL PRIMARY KEY);&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE detail_table&lt;br /&gt;
  2  (detail_id NUMBER NOT NULL,&lt;br /&gt;
  3   master_id NUMBER NOT NULL,&lt;br /&gt;
  4     CONSTRAINT detail_to_emp&lt;br /&gt;
  5     FOREIGN KEY (master_id)&lt;br /&gt;
  6     REFERENCES master_table (master_id)&lt;br /&gt;
  7     ON DELETE CASCADE);&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE OR REPLACE TRIGGER after_delete_master&lt;br /&gt;
  2  AFTER DELETE ON master_table&lt;br /&gt;
  3  FOR EACH ROW&lt;br /&gt;
  4  DECLARE&lt;br /&gt;
  5    CURSOR curs_count_detail IS&lt;br /&gt;
  6    SELECT COUNT(*)&lt;br /&gt;
  7      FROM detail_table;&lt;br /&gt;
  8    v_detail_count NUMBER;&lt;br /&gt;
  9  BEGIN&lt;br /&gt;
 10    OPEN curs_count_detail;&lt;br /&gt;
 11    FETCH curs_count_detail INTO v_detail_count;&lt;br /&gt;
 12    CLOSE curs_count_detail;&lt;br /&gt;
 13  END;&lt;br /&gt;
 14  /&lt;br /&gt;
Trigger created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; BEGIN&lt;br /&gt;
  2    FOR master_counter IN 1..10 LOOP&lt;br /&gt;
  3      INSERT INTO master_table&lt;br /&gt;
  4      VALUES(master_counter);&lt;br /&gt;
  5      FOR detail_counter IN 1..2 LOOP&lt;br /&gt;
  6        INSERT INTO detail_table&lt;br /&gt;
  7        VALUES(detail_counter,&lt;br /&gt;
  8               master_counter);&lt;br /&gt;
  9      END LOOP;&lt;br /&gt;
 10    END LOOP;&lt;br /&gt;
 11  END;&lt;br /&gt;
 12  /&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT * FROM master_table;&lt;br /&gt;
 MASTER_ID&lt;br /&gt;
----------&lt;br /&gt;
         1&lt;br /&gt;
         2&lt;br /&gt;
         3&lt;br /&gt;
         4&lt;br /&gt;
         5&lt;br /&gt;
         6&lt;br /&gt;
         7&lt;br /&gt;
         8&lt;br /&gt;
         9&lt;br /&gt;
        10&lt;br /&gt;
10 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT * FROM detail_table;&lt;br /&gt;
 DETAIL_ID  MASTER_ID&lt;br /&gt;
---------- ----------&lt;br /&gt;
         1          1&lt;br /&gt;
         2          1&lt;br /&gt;
         1          2&lt;br /&gt;
         2          2&lt;br /&gt;
         1          3&lt;br /&gt;
         2          3&lt;br /&gt;
         1          4&lt;br /&gt;
         2          4&lt;br /&gt;
         1          5&lt;br /&gt;
         2          5&lt;br /&gt;
         1          6&lt;br /&gt;
 DETAIL_ID  MASTER_ID&lt;br /&gt;
---------- ----------&lt;br /&gt;
         2          6&lt;br /&gt;
         1          7&lt;br /&gt;
         2          7&lt;br /&gt;
         1          8&lt;br /&gt;
         2          8&lt;br /&gt;
         1          9&lt;br /&gt;
         2          9&lt;br /&gt;
         1         10&lt;br /&gt;
         2         10&lt;br /&gt;
20 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DELETE master_table;&lt;br /&gt;
DELETE master_table&lt;br /&gt;
       *&lt;br /&gt;
ERROR at line 1:&lt;br /&gt;
ORA-04091: table sqle.DETAIL_TABLE is mutating, trigger/function may not see&lt;br /&gt;
it&lt;br /&gt;
ORA-06512: at &amp;quot;sqle.AFTER_DELETE_MASTER&amp;quot;, line 3&lt;br /&gt;
ORA-06512: at &amp;quot;sqle.AFTER_DELETE_MASTER&amp;quot;, line 7&lt;br /&gt;
ORA-04088: error during execution of trigger &amp;quot;sqle.AFTER_DELETE_MASTER&amp;quot;&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT * FROM master_table;&lt;br /&gt;
 MASTER_ID&lt;br /&gt;
----------&lt;br /&gt;
         1&lt;br /&gt;
         2&lt;br /&gt;
         3&lt;br /&gt;
         4&lt;br /&gt;
         5&lt;br /&gt;
         6&lt;br /&gt;
         7&lt;br /&gt;
         8&lt;br /&gt;
         9&lt;br /&gt;
        10&lt;br /&gt;
10 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT * FROM detail_table;&lt;br /&gt;
 DETAIL_ID  MASTER_ID&lt;br /&gt;
---------- ----------&lt;br /&gt;
         1          1&lt;br /&gt;
         2          1&lt;br /&gt;
         1          2&lt;br /&gt;
         2          2&lt;br /&gt;
         1          3&lt;br /&gt;
         2          3&lt;br /&gt;
         1          4&lt;br /&gt;
         2          4&lt;br /&gt;
         1          5&lt;br /&gt;
         2          5&lt;br /&gt;
         1          6&lt;br /&gt;
 DETAIL_ID  MASTER_ID&lt;br /&gt;
---------- ----------&lt;br /&gt;
         2          6&lt;br /&gt;
         1          7&lt;br /&gt;
         2          7&lt;br /&gt;
         1          8&lt;br /&gt;
         2          8&lt;br /&gt;
         1          9&lt;br /&gt;
         2          9&lt;br /&gt;
         1         10&lt;br /&gt;
         2         10&lt;br /&gt;
20 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DROP TABLE detail_table;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt; DROP TABLE master_table;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>