Oracle ウェアハウスで古いデータを廃棄することを検討しています。
概要を非常に単純化するために、PL SQL ストアド プロシージャを使用してプロセスを開発する提案が提案されました。このプロセスでは、ソース テーブルや宛先テーブルなどを指定して、Oracle の ALL_TAB_COLUMNS ビューを使用して、ソース テーブルをミラーリングするターゲット テーブルを作成します。
前の実行からの dest テーブルが存在する場合、提案されたソリューションには、ソース テーブルの現在のスキーマをターゲット (アーカイブ) テーブルと比較し、違いが見つかった場合はテーブルを同期させることが含まれます。提案された機能に制限が存在することは確かですが、仕様はこの分野ではかなり野心的であるように見えましたが、Red Gate の SQL Compare ユーティリティを PL-SQL で書き直すかどうかは疑問です。
2つの質問があると思います。
1) PL/SQL は、そのようなタスクに使用するのに本当に適切な言語ですか。私にとって、ストアド プロシージャはクイック インおよびクイック アウトのデータ操作に使用され、複雑なロジックは、C# やその他の .NET 言語など、より完全に機能するクライアント言語と見なされるものに属します。10,000 行の、インデントが不十分な単一のストアド プロシージャを予想しているので、それを確認しなければならないことにうんざりしています。Oracle SP/Pkgs がそのようである必要がないことはわかっていますが、何らかの理由で、開発者は PL\SQL を使用するときは .NET で記述するときよりもモジュール性が低くなる傾向があります。おすすめと選んだ理由を教えてください。
2) アーカイブ目的で利用できる Oracle ユーティリティ (10g を使用していると思います) はありますか? 誰かアドバイスをお勧めしますか?
コメントが提供されている間、繰り返されない価値がある場合は投票します。
どうも。