2017-10-12 17 views
0

異なるデータベースの両方のMASTER TABLEとSECONDARY TABLEの形式のテーブルがあります。私はこれらのデータベースを接続するdblinkを持っています。セカンダリテーブルは空のテーブルであり、両方のテーブルは同じ構造を持っています。今私はストアドプロシージャを使用して別のDBのセカンダリテーブルに1つのデータベースのマスターテーブルのすべてのデータを挿入したいと思います。私は異なるデータベースを使用してデータの転送に関する投稿を見つけることができませんでした。私はPL/SQLの初心者です。誰かが私にこれを解決するのを手伝ってもらえますか?異なるデータベースにあるテーブルから別のテーブルにデータを挿入するためのストアドプロシージャ

答えて

1

あなたは、単に以下のようなクエリを記述することができます。

INSERT INTO database1.dbo.mastertable(col1,col2,....) 
  SELECT col1, col2,...... FROM database2.dbo.secondarytable; 
+0

を追加するように編集しましたか? – Aby

+0

はい、SPの内部でこのクエリを使用してください。 –

+0

これはOracleでは機能しません –

0

ストアドプロシージャのための必要はありません。 DB Link経由でセカンダリデータベースを名前で呼び出すことができます。

create or replace procedure proc_name as 
begin 
    insert into [email protected] select * from primary_table; 
    commit; 
end; 

@remotedbは、リモートデータベースにアクセスできるように作成したDBリンクを指します。

ストアドプロシージャの開始文と終了文の間にPL/SQLプロシージャ

+0

コードタグとは何ですか?ありがとう! :) –

+0

私はタイムリーにスケジュールされた方法でこれを行う必要があるので、ストアドプロシージャが必要です。 – Aby

+0

ジョブ経由で呼び出すためのストアドprocラッパーを追加しました。 –

関連する問題