暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 在表上创建数据库触发器 (动态)

askTom 2016-08-09
100

问题描述

嗨,汤姆,

我有一个要求,我必须动态创建一个表级触发器。

以下是更多详细信息:

将为用户提供一个选项来选择表XYZ中的列,该选项将被跟踪以进行任何更改-插入,更新和删除。场景后面的代码将使用用户选择的这些列,并在该表上创建数据库触发器。日志表将开始记录表XYZ中这些列的任何删除,插入和更新。

感谢您对上述内容的见解和建议。

问候 & 谢谢



专家解答

使用 'execute immediate' 动态创建触发器很容易,但我想问题是:

-如果用户A说 “审计列X,Y” 怎么办
-如果用户B说 “审计列Y,Z” 怎么办
-如果用户C说 “审计没有列” 怎么办

您是否每次都要更改/删除/重新创建触发器?在我看来,这只应该是一次操作,也就是说,一旦触发器打开,它就必须保持打开,否则你将危及过去提出的审计请求。

在这种情况下,无论有人要求什么,您都可能要考虑在触发器中记录 * 所有 * 列?

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论