我有一堆Oracle和SQL Server .SQL脚本。我想从这些脚本中提取所有"select"
语句。然后我想拉出其中引用的所有表的列表。基本上创建正在使用的表的列表。从那里,我可以删除该列表中不存在的任何表。有没有人这样做过?
答案 0 :(得分:0)
我建议你转过程吗?首先创建所有数据库表的列表,并将该列表放在包含* .sql或transact_sql代码的环境中。然后编写一个脚本,搜索每个文件名的所有脚本。计算每个文件名的命中数并报告结果应该相对容易。然后可以删除零命中的文件。但是,因为可能是隐藏表依赖项,所以您还必须解析所有触发器的代码。 (无论如何都要尝试这些触发器!)