2016-05-09 13 views
0

私のプロジェクトでは、既存のテーブルに2つの新しいカラムを追加するという新たな要件があります。既存のテーブルに新しいカラムを追加することの効果

このテーブルに2つの新しい列を追加する効果をどのように分析できますか?

注:私はすでにall_dependenciesビューを使用してすべての依存関係を見つけました。また、私はall_sourceを使用していくつかの情報を見つけました。

このプロジェクトでは、今後どのようなアプローチが正しいのか教えてください。

編集1:この質問は否定的な点を引き付けました。私はあなたの提案に従って改善したいと思います。

答えて

2

開発者が適切な列名を使用している場合、列を追加しても表示/トリガー/プロシージャーには影響しません。しかし、誰かがビュー/プロシージャ/トリガーのいずれかでselect * from your_tableを使用した場合、問題が発生する可能性があります。

あなたはすでに正しいパスにいます。 dba_sourceを正しくチェックしてください。 dblinkは、データベースに他のデータベースに存在する場合もwhere upper(text) like '%TABLE1%'

を使用してall_sourceで検索を実行すると、あなたはあまりにもの世話をする必要があるかもしれません、あなたのテーブル名がschema1.table1であると言います。

+1

これは**の問題ではありません。 'create view'内の' select * 'は、ビューが作成された時点で有効な列のリストに展開されます。 '*'はビュー定義 –

+0

に**保存されません。 – Wolfgang

+0

@a_horse_with_no_name - それに同意します。しかし、同じビューがproc/triggerで 'insert into xyz(col1、col2)select * from view'と使用された場合、その特定のproc/triggerは失敗する可能性があります。ですから、 'view'レベルで解決する方が良いでしょう。 – Utsav

関連する問題