私はDB1にあるいくつかのテーブルのデータをDB2に存在するテーブルにコピーするperlスクリプトを作成しています。 私はDB2に存在する各テーブルの挿入クエリを含むDB3のテーブルを持っています。あるDBから別のDBにデータをコピーする
以下は、たとえば1つのテーブルのクエリです。
Insert into ACTION_BLOCK
(ACTION_BLOCK_ID, RULE_EXPR_ID, ACTION_BLOCK_ORDER)
Values();
Iは、ハッシュテーブルへとロード結果をDB1から
- ロジック以下読み出したデータを実装すると考えます。 ハッシュの各要素について
-
- DB2にINSERTクエリを実行して値を挿入クエリの値()キーワード(「ハッシュのデータ」)
- を交換します。 DBで
しかし、データだけでなく、日付が含まれている場合があります。その場合は、values('data in hash')
というクエリのキーワードvalues()
を直接置き換えることはできません(値の後にdd\mm\yyyy
など)。 誰でもこの挑戦を克服する方法を教えてもらえますか?それがより明確に例えば下に考える:
DB1
とDB2
ようにするには、テーブルには、
ACTION_BLOCK
と呼ばれています。DB1_ACTION_BLOCK
テーブルにあるデータをDB2_ACTION_BLOCK
テーブルにコピーする必要があります。
私の論理によれば、テーブルの挿入クエリは、次のようになります。DB3
values(01,02,02/02/2016,09);
日付形式があるので、これは私にエラーをスローします:私は「値()」私は下記のようになるDB1
からもらっ番目のデータとキーワードを置き換える上記のクエリで
Insert into ACTION_BLOCK
(ACTION_BLOCK_ID, RULE_EXPR_ID,RULE_DATE,ACTION_BLOCK_ORDER)
Values();
正しくありません。以下に示すように理想的には、それは次のようになります。
values(01,02,to_date('02/02/2016','mm/dd/yyyy'),09);
しかしDB1
からのデータが含まれている私のハッシュだけではto_date
キーワードとフォーマットせずに日付を持っています。
この例で問題がはっきりとわかることを願っています。純粋なSQLで
これは少し不明です。 3つのデータベースすべてに含まれているものと、期待される出力を想定して、完全なサンプルを作成できますか? – simbabque
'DB3'には実際のSQLコードが含まれていますか? – Borodin
DB3には、DB2の各テーブルの挿入クエリが含まれています。 – nithin