修改项目时,涉及到了Oracle中许多表的修改(包括:增加、删除字段,修改注释等)。由于开始没有进行记录,造成在上测试机时,忘记了具体修改过哪些表了。后来在网上查找了一些资料,例如:
1、select uat.table_name from user_all_tables uat 该SQL可以获得所有用户表的名称
2、select object_name, created,last_ddl_time from user_objects 该SQL可以获得所有用户对象(包括表)的创建和最后修改时间
综合以上SQL,总结了如下语句:
select uat.table_name as 表名,(select last_ddl_time from user_objects where object_name = uat.table_name ) as 最后修改日期
from user_all_tables uat
通过该语句,可以得到所有表的最后修改时间。(大家可以根据实际情况在该SQL后面加上相应的条件表达式)
通过对查询结果中最后修改时间的降序排列,就可以知道那些表的结构修改过了。
另外,希望大家好好练练上面涉及的SQL语句,他们能实现好多其他有用的功能的,希望大家可以多多研究^_^!
摘自: http://blog.youkuaiyun.com/accp_fangjian/article/details/6050527
本文介绍了一种查询Oracle数据库中表结构变更的方法。通过组合使用SQL语句,可以获取到所有用户表的名称及其最后的修改时间。利用这些信息,可以方便地识别出最近被修改过的表。
1186

被折叠的 条评论
为什么被折叠?



