2017-03-03 12 views
0

私はMaxDBデータベースからDB2への移行中です。私はすべてのビューを再作成する必要がありますが、その定義には他のビューへの参照が含まれており、作成日時が同じであるため、正しい順序で作成することができません。CREATE FORCE VIEWのDB2相当版

DB2は何とかCREATE FORCE VIEW文をサポートしていますか?

SQLパーサーを作成せずに正しい順序でビューを再作成するにはどうすればよいですか? MaxDBのための

SELECTは:

select vd.*, t.createdate, t.createtime from viewdefs vd 
join tables t on vd.viewname = t.tablename and vd.owner = t.owner 
order by t.createdate, t.createtime 

MaxDB Data Dictionary

答えて

3

あなたが使用しているものDB2プラットフォーム示すものではありません。 DB2 for LUWにはdatabase configuration parameter auto_revalがあり、deferred(デフォルト)またはdeferred_forceに設定すると、任意の順序で従属オブジェクトを作成できます。依存関係がないために作成時に検証できない効果オブジェクト(ビューを含む)内のdeferred_forceは、「エラーあり」で作成され、SQLステートメントで最初に使用されたときに再検証されます。

system stored procedure SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS()を呼び出すことによって、無効なオブジェクトを作成した後で明示的に再検証することもできます。

関連する問題