Oracle批量建立、刪除資料庫表

尛樣兒發表於2010-01-18

--批量建表流程--
--1.建立使用者--
--2.授予使用者系統許可權--
--3.建立表(包含表和主鍵約束)--
--4.授予使用者相應的物件許可權(為建立外來鍵約束授予相應的references物件許可權)--
--5.建立表的外來鍵約束--
--6.批量插入資料--

--批量刪除資料庫表--
--1.刪除foreign key--
select 'alter table '||owner||'.'||table_name||' drop constraint '||constraint_name||';' sql from dba_constraints where owner in
(select username from dba_users where default_tablespace='CIMMODEL')
 and constraint_type='R'
 union all
--2.刪除primary key--
 select 'alter table '||owner||'.'||table_name||' drop constraint '||constraint_name||';' sql from dba_constraints where owner in
(select username from dba_users where default_tablespace='CIMMODEL')
 and constraint_type='P';
 
--3.刪除indexes,tables--
 select 'drop '||object_type||' '||owner||'.'||object_name||' purge;' sql from dba_objects where owner in
 (select username from dba_users where default_tablespace='CIMMODEL');
 

--批量清空資料--
--批量禁用約束--
select 'alter table '||table_name||' disable constraint '||constraint_name||';' from user_constraints where constraint_type='R';

--批量清空表資料--
select 'truncate table '||table_name ||';' from user_tables;

--批量啟用約束--
select 'alter table '||table_name||' enable constraint '||constraint_name||';' from user_constraints where constraint_type='R';

--其他--
--批量更改表的列名--
select 'alter table '||owner||'.'||table_name ||' rename column "'||column_name||'" to '||upper(column_name)||';' from dba_tab_columns where table_name='LD_BB_XSTJB1';

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23135684/viewspace-625364/,如需轉載,請註明出處,否則將追究法律責任。

相關文章