0

Pacient テーブルのすべてのデータを Pacient_OR テーブル (オブジェクト リレーショナル) に挿入しようとしています。Pacient テーブルに Pojistovna_ID (外部キー) を持つ列があり、Pacient_OR テーブルに Pojistovna_OR への REF がある場合、それを行う簡単な方法 (1 つのスクリプト) はありますか。Pojistovna と Pojistovna_OR の両方に同じデータが取り込まれますが、一方はリレーショナル、もう一方はオブジェクト タイプに基づいています。

私はこれを試しました(そしてもっとofc):

 INSERT INTO pacient_or
            (pacient_or.id,
             pacient_or.jmeno,
             pacient_or.prijmeni,
             pacient_or.datum_narozeni,
             pacient_or.rodne_cislo,
             pacient_or.telefon,
             pacient_or.krevni_skupina,
             pacient_or.rodinna_anamneza,
             pacient_or.adresa,
             pacient_or.pojistovna)
SELECT pacient.id,
       pacient.jmeno,
       pacient.prijmeni,
       pacient.datum_narozeni,
       pacient.rodne_cislo,
       pacient.telefon,
       pacient.krevni_skupina,
       pacient.rodinna_anamneza,
       Adresa_typ(pacient.ulice, pacient.mesto, pacient.psc),
       (SELECT Ref(poj)
        FROM   pacient pac,
               pojistovna_or poj
        WHERE  pac.pojistovna_id = poj.id)
FROM   pacient;  

このコードはエラーをスローします:

単一行サブクエリは複数の行を返します

4

1 に答える 1

1

サブクエリで pacient pac を使用しないでください。それをメインの from 句の pacient にリンクします。さらに良いことに、これにはサブクエリを使用しないでください。

于 2015-03-17T08:57:56.730 に答える