fc2ブログ

ReplicationActivityで複雑なSQLを

現在、Domino8.5 マイグレーションに奮闘中。その際にベンダーがLEI Activityを見て、複雑なSQLの記述を知らなかったようなので載せておきます。

LEI がRDBに直接更新しているわけではなく、ドライバを経由している。ということは、例えばReplication Activityのフォームの各項目からSQL文を生成しているだけ。
フォームの各項目とSQL文(Oracle)の関係は下記のようになります。

ReplicationActivity

このようにフォームに従い項目にセットだけでは、Source側がTargetに合ったテーブルでなくてはならない。

ReplicationActivity

では次のようなSQL、部門の月別売上テーブルがあり部門マスタから部門名を付けてレプリケーションする場合はどのようにActivityに記述するのか?

ReplicationActivity

その場合、下記のようにTable項目に記述すると上手くいきます。

ReplicationActivity

あまりに長いSQL文の場合、OsqleditなどでSQL文をテストしてからActivityに移します。そこでSQL文をばらすとメンテが大変なため、作ったSQL文をTable項目にコピペしてます。これをSQL文にすると
SELECT YYYY_MM, BUMON_C, BUMON_MEI, MM_KINGAKU FROM(
SELECT U.YYYY_MM, U.BUMON_C, B.BUMON_MEI, U.MM_KINGAKU
FROM TB_MM_URIAGE U
LEFT JOIN TB_BUMON B ON B.BUMON_C = U.BUMON_C
WHERE U.BUMON_C IN ('001', '002')
ORDER BY U.YYYY_MM, U.BUMON_C)
なってしまいます。
ReplicationActivityの記述は
ReplicationActivity

効率良くないですが、照会データのフォーマットや条件は会社の変化に対応して変わりカスタマイズがあると考えてやむなし。いっそSQL文を入力できた方が便利なのですが。
スポンサーサイト



テーマ : プログラミング
ジャンル : コンピュータ

プロフィール

ピヨパパ

Author:ピヨパパ
静岡市のエンドユーザーSE。
最近はDominoの開発ばかりでうんざり。
是非気軽にコメントして下さい。

FC2カウンター
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる