防止生产库数据被drop、truncate等误删

来自tomtalk
Tom讨论 | 贡献2012年8月11日 (六) 06:22的版本 (以“==防止生产库数据被drop、truncate等误删== 生产库的数据很重要,一般是不需要drop 或 truncate掉的,为了防止新手误删我们可以...”为内容创建页面)

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

防止生产库数据被drop、truncate等误删

生产库的数据很重要,一般是不需要drop 或 truncate掉的,为了防止新手误删我们可以在系统上写个系统级的触发器,避免这类事情发生。

CREATE OR REPLACE TRIGGER trg_dropdenyA
  BEFORE DROP OR TRUNCATE ON DATABASE
 
BEGIN
  raise_application_error(num => -20000,
                          msg => '你疯了,想删除生产库的表 ' || ora_dict_obj_name() ||
                                 ' ?' || '你完了,警察已在途中.....');
END;

哈哈,这样再执行drop,或truncate 等语句的时候,就会被提示拉。

你还可以根据你的需要,按照这种思路做各种限定,自己发挥拉~!