Pao*_*ino 3 trigger oracle oracle-10g vpd
我知道这是一件糟糕的事情,原因有很多,但我处于“完成任务”模式,我们有一个我们无法修改的软件,可以将记录写入表。其中一些记录,出于业务原因,我们不希望出现在此表中。我想我可以编写一个触发器来“中止”这些行中的任何一行而不会抛出错误(这样应用程序就不会在前端失败,我们希望它认为它做了它的事情)。我非常熟悉这个应用程序,并且知道它不会造成任何丑陋的副作用,我们只是无法修改它以按照我们需要的方式运行。
那么,这有可能吗,如果没有,还有什么方法可以解决呢?我想过让某种工作定期清理我们不想要的记录表,但我宁愿这些记录永远不会在那里开始,所以在任何时候都没有程度的“肮脏”桌子。
表上的触发器阻止INSERT
操作完成的唯一方法是抛出错误。
正如你所说,这是一个巨大的黑客,但你可以
instead of
保留INSERT
该行,则在该视图上创建一个仅在表上执行的触发器。否则,触发器将什么也不做。只要应用程序没有MERGE
对表进行操作,这应该有效。当然,这是一次又一次的黑客攻击,所以它绝对不会因为干净的代码而赢得任何奖项。
归档时间: |
|
查看次数: |
17135 次 |
最近记录: |