是否可以使用触发器检测哪个表是oracle物化视图中更改的数据?

问题描述 投票:1回答:1

我有一个物化视图,我想检测:

  • 物化视图更新时
  • 哪个表格
  • 什么数据(或行)改变了?
sql oracle oracle10g materialized-views
1个回答
0
投票

如果您正在使用MV日志,那么基本表上应该已经有一个触发器,并且触发器填充了材料视图日志(实际上是一个表)。这将假设您正在进行快速刷新而不是完全刷新。检查下表以查看它们是否包含您要查找的信息:

select trigger_name from user_triggers
where table_name = '<you table name>'

SELECT master, log_table, rowids, primary_key
FROM user_snapshot_logs;

desc mlog$_<your table name>

desc rupd$_<your table name>

如果基表的名称太长,mlog $ _...和rupd $ ...名称可能会被截断。希望对你有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.