我想从数据库中删除一个表,我知道它不会在我们的Java代码库中的任何地方使用。我也可以从我们的数据库中删除它,但我不确定这可能不会造成某种问题。也许它仍然可以从存储过程或类似的东西中引用?
或者数据库是否真的保证在任何情况下删除表时不会出现这种情况?如果它可能是一个问题,在db中搜索这个特定字符串的最佳方法是什么,以找到它的可能用法?
不幸的是,我没有dba访问此数据库。
由于
答案 0 :(得分:1)
没有这样的保证
但是你可以运行它来查找存储过程,包或函数中对表的任何引用
select * from dba_source where lower(text) like '%<tablename>%'
答案 1 :(得分:0)
我认为你需要关心的表有两个参考。
依赖关系(在表浏览器中,sql navigator / toad有,不确定其他人)
- 醇>
动态sql在procedure / function / package中调用该表。请参阅here
但那些并非全部,因为一些动态sql可能会使用字符串连接
execute immediate 'select max(name) from customer_' || provinceCode into testName;