環境:Oracle12c、Windows7、Embulk 0.9.8
Oracleの2つのテーブルを特定条件で結合させて対象レコードを抽出し、embulkでBigQueryにバルクインサートさせたいです
方法論として、
➀Oracleトリガーで2つのテーブルを特定条件で結合させて対象レコードを抽出
⇒以下のようなSQLを使ってみる
select A1.BANGOU,A1.NUM,A1.STR,A1.DT from INPUT_TEST_001 A1,INPUT_TEST_002 B1 where A1.NUM = B1.NUM;
➁スケジュールジョブでembulkを実行
⇒embulkのconfig.ymlに、➀で検索されたレコードだけを指定する
➂embulkでBigQueryにバルクインサート
上記、方法論で実装可能か検討中となります
※開発中のpl/sql
DECLARE W_BANGOU varchar(50) DECLARE W_NUM varchar(50) DECLARE W_STR varchar(50) DECLARE CUR_AAA CURSOR FOR SELECT A1.BANGOU ,A1.NUM ,A1.STR FROM INPUT_TEST_001 A1 INNER JOIN INPUT_TEST_002 B1 WHERE A1.NUM = B1.NUM OPEN CUR_001; FETCH NEXT FROM CUR_AAA INTO W_BANGOU,W_NUM,W_STR; WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO INPUT_TEST_003 VALUES ( W_BANGOU ,W_NUM ,W_STR ) FETCH NEXT FROM CUR_AAA INTO W_BANGOU,W_NUM,W_STR; END CLOSE CUR_001; DEALLOCATE CUR_001;
※実行結果
SQL> @C:\Users\xxxx\Desktop\embulk\CURSOR_test_002.sql 36
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/17 02:55
2018/12/17 03:21
2018/12/17 04:42
2018/12/17 05:03
2018/12/18 00:22