![](/img/trans.png)
[英]How to find the count of users who viewed/used the table in the last 2 weeks in Teradata?
[英]How to find last used table?
我有2个相同的Oracle表(表1和表2)。 这两个表中的数据插入都将被截断然后加载。 一旦将数据插入到表中,便对其应用同义词。 此外,使用以下方法查找了要插入的表以供下次加载
SELECT OBJECT_NAME
INTO var1
FROM (SELECT RR.OBJECT_NAME,
RANK () OVER (ORDER BY RR.LAST_DDL_TIME ASC) RNK
FROM SYS.ALL_OBJECTS RR
WHERE RR.OBJECT_NAME IN
('Table1', 'Table2'))
WHERE RNK = 1;
但是,我需要一种替代技术,因为如果我们授予任何用户访问权限,这两个表的DDL_TIME将变得相同。 请注意,我们无法更改表格结构
这个评论太长了。
您的应用程序设计不佳。 您将数据库元数据用于非预期目的。 如果需要跟踪诸如授予用户访问表的时间之类的信息,则应将该信息显式保存在另一个表中,或者将访问控制逻辑包装在存储过程中,或者使用DDL触发器。
有问题的迹象是DDL_TIME
并未执行您想要的操作。 本专栏正在做它所记录的事情,大概是数据库需要它做的事情。 缺点是您对它的重新解释。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.