首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

怎么给一批表加触发器

2011-12-24 
如何给一批表加触发器处于某种原因,需要对数据库所有用户表加上一个更新触发器。单个的加时是可以的,但是如

如何给一批表加触发器
处于某种原因,需要对数据库所有用户表加上一个更新触发器。

单个的加时是可以的,但是如何批量的去给这些表加呢,比如通过 select * from cat;得到表名后,如何再批量的给这些表加上触发器呢,

[解决办法]
所有表加触发器,不太好吧,楼主想要完成什么需求?
如果要建,你可以拼接SQL使用动态SQL来实现
1、select table_name from user_tables;
2、针对1步的表拼接建立触发器的SQL;
3、execute immediate 拼接的SQL。
[解决办法]
select 'create or replace trigger trig_'||table_name||' before insert on '||table_name||' for each row declare begin null; end;' from cat;


如果触发器类型统一的话,把null;部分改为你想嵌入的代码。
[解决办法]
存储过程里默认角色权限无效,需要显式授权。


简单的办法,把所有创建触发器的代码放在一个.sql脚本文件里,运行之。
[解决办法]
使用EXCEL表,查出表名,批量写成脚本,统一执行!
[解决办法]

探讨

存储过程里默认角色权限无效,需要显式授权。


简单的办法,把所有创建触发器的代码放在一个.sql脚本文件里,运行之。

热点排行