使用REF从表(SELECT)插入数据 - Oracle数据库

时间:2015-03-17 08:46:16

标签: oracle select insert ref object-relational-model

我试图将所有数据从Pacient表插入到Pacient_OR表(Object-Relational)。有没有一种简单的方法(一个脚本),如果Pacient表具有Pojistovna_ID(外键)列,而在Pacient_OR表中有PoFistovna_OR的REF。 Pojistovna和Pojistovna_OR都填充了相同的数据,但一个是关系数据,第二个是基于对象类型。

我试过这个(以及更多的c):

 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;  

此代码抛出错误:

  

单行子查询返回多行

1 个答案:

答案 0 :(得分:1)

不要在子查询中使用患者pac。在主要的from-clause中将其链接到患者。甚至最好不要使用子查询。