2

私の職場では、テーブルとビューを管理するために別々の Teradata データベースがあります。「テーブル」データベースにはデータを含むテーブルがあり、「ビュー」データベースにはビューしかありません。2 つのデータベースへのアクセスはロールによって管理されます。「開発者」は、「テーブル」にテーブルを作成し、「ビュー」にビューを作成する権限を持っています。「消費者」は、「ビュー」データベースへの「読み取り」アクセスのみを持ちます。

時間の経過とともに、ビューが参照するベース テーブルが存在しなくなったという点で、一部のビューは "不適切" になりました。これは通常、開発者が何らかの分析の最後にテーブルを削除し、対応するビューを削除するのを忘れた場合に発生します。

質問:有効なテーブルに関連付けられなくなったビューを特定する「簡単な」方法はありますか?

select count(*)「ビュー」データベースの各ビューで実行するテスト スクリプトを作成することを検討しています。テストが失敗した場合、ビューに何か問題があることがわかります。私はこれを行う方法を知っています(そしてうまくいくでしょう)が、もっと良い方法があるかどうか尋ねたいと思いました.

4

1 に答える 1

2

ここで、壊れたビューを見つけるために使用できるアプローチを作成しました。ストアド プロシージャ、2 つのカーソル、およびPREPAREステートメントを使用することで、データ ウェアハウス全体でビューの有効性をすばやくテストできます。

最大の秘訣は、エラー ハンドラを釘付けにしてエラーを記録することです。私の Web サイトではエラー ハンドラーについて詳しく説明していませんが、行き詰まった場合は、正しいパスにたどり着くための疑似コードを送信できます。

于 2013-05-14T16:52:44.663 に答える