1

1つのデータベースにはPRODUCTS、列NAMETECHNICAL_NAME.

2番目のデータベースにはTEMP_PRODUCTS、列を持つテーブル(最初のデータベースのテーブルのNAME列に対応する)があり、それは最初のデータベースの対応する値で更新する必要があります。NAMEPRODUCTSTECHNICAL_NAMEnullTECHNICAL_NAME

では、 with columnsUPDATE table TEMP_PRODUCTSを使用して行う必要がありますか?JOINNAME

1st bd からテーブルをエクスポートして 2nd db にインポートするという解決策は避けたいと思います。

これどうやってするの?

4

3 に答える 3

3

DBリンクを作成することにより、別のDBから1つのDBオブジェクトにのみアクセスできます。

CREATE DATABASE LINK db1_link 
   CONNECT TO <User Name> IDENTIFIED BY <pwd>
   USING 'db2'; 

--db2は、exp製品のサービス名を意味しますdb

次に、ステートメントを更新します

UPDATE temp_products tp
  SET technical_name=
    (SELECT technical_name FROM products@db1_link p
      WHERE tp.name = p.name)
于 2012-12-26T11:45:05.243 に答える
2

仮定:

UPDATE temp_products tp
  SET technical_name=
    (SELECT technical_name FROM products@db1 p
      WHERE tp=name=p.name)
于 2012-12-26T10:48:59.097 に答える
2

接続するには、テーブルdb2がある場所で以下のクエリを実行し、同じデータベースでtemp_productdb リンクを実行する必要があります。db1db2db1

   MERGE temp_products tp
     USING products@db1 pp
     ON(tp.name = pp.name)
   WHEN MATCHED THEN
     UPDATE SET tp.technical_name = pp.technical_name;

製品テーブルにアクセスするには、db1 に接続できるように、データベース db2 に db リンクを作成する必要があります。データベースリンクを作成するための構文を見つけてください

CREATE [PUBLIC] DATABASE LINK <link_name>
CONNECT TO <user_name>
IDENTIFIED BY <password>
USING '<service_name>';
于 2012-12-26T11:01:57.830 に答える