Oracle常用批量操作

1.批量禁用所有触发器

在sql窗口查询

select 'alter trigger '||name||' disable;'
from
(
  SELECT name 
  FROM USER_SOURCE
  WHERE TYPE='TRIGGER'
  group by name
) t1;

将查询出的结果集copy,然后在sql窗口再次执行,禁用当前用户下所有触发器。

2.批量启用所有触发器

同样,在sql窗口查询

select 'alter trigger '||name||' enable;'
from
(
  SELECT name 
  FROM USER_SOURCE
  WHERE TYPE='TRIGGER'
  group by name
) t1;

将查询出来的结果copy到sql窗口执行,启用当前用户所有触发器。

3.批量同步表数据

select 'truncate table '||table_name||';' 
 from user_tables 
where table_name like 'OMS%';

select 'insert into '||table_name||' select * from aiomsn.'||table_name||'@prod;' 
  from user_tables 
where table_name like 'OMS%';

将查询出来的结果copy到sql窗口执行,然后commit即可。

猜你喜欢

转载自wodeguozili.iteye.com/blog/2252499