Oracle 向现有表中添加新列的效果
在我的项目中有一个新的需求,我必须向现有表中添加两个新列 如何分析在此表中添加两个新列的效果 请注意: 我已经使用all_dependencies视图找到了所有依赖项,而且我还使用all_source查找了一些更多的信息 你能告诉我在这个项目中应该采取什么样的正确方法吗Oracle 向现有表中添加新列的效果,oracle,Oracle,在我的项目中有一个新的需求,我必须向现有表中添加两个新列 如何分析在此表中添加两个新列的效果 请注意: 我已经使用all_dependencies视图找到了所有依赖项,而且我还使用all_source查找了一些更多的信息 你能告诉我在这个项目中应该采取什么样的正确方法吗 编辑1:因为这个问题吸引了很多负面因素。我想根据你的建议改进 如果开发人员在视图/触发器/过程中使用了正确的列名,则添加列不会影响视图/触发器/过程。但是,如果有人在任何视图/过程/触发器中使用了select*from_表,那么
编辑1:因为这个问题吸引了很多负面因素。我想根据你的建议改进 如果开发人员在视图/触发器/过程中使用了正确的列名,则添加列不会影响视图/触发器/过程。但是,如果有人在任何视图/过程/触发器中使用了
select*from_表
,那么您可能会遇到麻烦
你已经走上了正确的道路。只需正确检查dba\u源代码即可。假设您的表名为schema1.table1
,则使用where-upper(text)如“%table1%”在all\u-source
中进行搜索
另外,如果在其他数据库中有到您的数据库的dblink
,那么您可能也需要注意这一点。对于视图来说,这并不重要。create视图中的select*
将扩展到创建视图时有效的列列表。*
将不会存储在视图定义中,谢谢您的解决方案。@a_horse_,没有名称-同意这一点。但是,如果在proc/trigger中使用与插入xyz(col1,col2)相同的视图,从视图中选择*则特定的proc/trigger可能会失败。因此,最好在视图
级别解决它。