ORACLEで現在のユーザーの下にあるすべてのオブジェクトを削除するSQL
4441 ワード
ORACLEの下で現在のユーザーの下のすべてのオブジェクトのSQLを削除して、これは他の人のを回転して、しかし、修正と注釈をしました
Sqlコード--ユーザーの下にあるオブジェクト を削除します. set heading off; set feedback off; spool c:\dropobj.sql; prompt --Drop constraint select 'alter table '||table_name||' drop constraint '||constraint_name||' ;' from user_constraints where constraint_type='R'; prompt --Drop tables select 'drop table '||table_name ||';' from user_tables; prompt --Drop view select 'drop view ' ||view_name||';' from user_views; prompt --Drop sequence select 'drop sequence ' ||sequence_name||';' from user_sequences; prompt --Drop function select 'drop function ' ||object_name||';' from user_objects where object_type='FUNCTION'; prompt --Drop procedure select 'drop procedure '||object_name||';' from user_objects where object_type='PROCEDURE'; prompt --Drop package prompt --Drop package body select 'drop package '|| object_name||';' from user_objects where object_type='PACKAGE'; prompt --Drop database link select 'drop database link '|| object_name||';' from user_objects where object_type='DATABASE LINK'; spool off; set heading on; set feedback on; @@c:\dropobj.sql; host del c:\dropobj.sql;
コメント:1.上の文はpl/sqlにコマンドに入れて実行されます.2.set heading off; 表を閉じるという意味です.閉じない場合はdropobjに書き込む.sqlファイルに結果セットのヘッダーが表示されます.たとえば、'DROPTABLE'||TABLE_NAME||';' ------------------------------------------ drop table TEACHER; 実際に必要なのは「drop table TEACHER;」です「'DROPTABLE'||TABLE_NAME||';'」が表頭です.3.set feedback off; 表示を閉じるという意味です.閉じない場合はdropobjに書き込む.sqlファイルには、結果セットを返すサイズなどの情報が表示されます.たとえば、「137 rows selected」4.spool c:\dropobj.sql; 結果セットをこのファイルに書き込む.spool off; 書き込みを終了します.5.@@c:\dropobj.sql; このsql 6を実行する.host del c:\dropobj.sql; ホスト上のこのファイルを削除します.7.CONSTRAINT_TYPEはキーのタイプです.
Sqlコード C (check constraint on a table) P (primary key) U (unique key) R (referential integrity) V (with check option, on a view) O (with read only, on a view)
8.「drop package............」という文を実行すると、package bodyは同時に削除されます.
Sqlコード
--
set heading off;
set feedback off;
spool c:\dropobj.sql;
prompt --Drop constraint
select 'alter table '||table_name||' drop constraint '||constraint_name||' ;' from user_constraints where constraint_type='R';
prompt --Drop tables
select 'drop table '||table_name ||';' from user_tables;
prompt --Drop view
select 'drop view ' ||view_name||';' from user_views;
prompt --Drop sequence
select 'drop sequence ' ||sequence_name||';' from user_sequences;
prompt --Drop function
select 'drop function ' ||object_name||';' from user_objects where object_type='FUNCTION';
prompt --Drop procedure
select 'drop procedure '||object_name||';' from user_objects where object_type='PROCEDURE';
prompt --Drop package
prompt --Drop package body
select 'drop package '|| object_name||';' from user_objects where object_type='PACKAGE';
prompt --Drop database link
select 'drop database link '|| object_name||';' from user_objects where object_type='DATABASE LINK';
spool off;
set heading on;
set feedback on;
@@c:\dropobj.sql;
host del c:\dropobj.sql;
コメント:1.上の文はpl/sqlにコマンドに入れて実行されます.2.set heading off; 表を閉じるという意味です.閉じない場合はdropobjに書き込む.sqlファイルに結果セットのヘッダーが表示されます.たとえば、'DROPTABLE'||TABLE_NAME||';' ------------------------------------------ drop table TEACHER; 実際に必要なのは「drop table TEACHER;」です「'DROPTABLE'||TABLE_NAME||';'」が表頭です.3.set feedback off; 表示を閉じるという意味です.閉じない場合はdropobjに書き込む.sqlファイルには、結果セットを返すサイズなどの情報が表示されます.たとえば、「137 rows selected」4.spool c:\dropobj.sql; 結果セットをこのファイルに書き込む.spool off; 書き込みを終了します.5.@@c:\dropobj.sql; このsql 6を実行する.host del c:\dropobj.sql; ホスト上のこのファイルを削除します.7.CONSTRAINT_TYPEはキーのタイプです.
Sqlコード
C (check constraint on a table)
P (primary key)
U (unique key)
R (referential integrity)
V (with check option, on a view)
O (with read only, on a view)
8.「drop package............」という文を実行すると、package bodyは同時に削除されます.