【问题标题】:Inserting data from table (SELECT) with REF - Oracle Database使用 REF 从表 (SELECT) 中插入数据 - Oracle 数据库
【发布时间】:2015-05-19 14:52:49
【问题描述】:

我正在尝试将 Pacient 表中的所有数据插入 Pacient_OR 表(对象关系)。有没有一种简单的方法可以做到这一点(一个脚本),如果 Pacient 表有带有 Pojistovna_ID(外键)的列,并且在 Pacient_OR 表中有 Pojistovna_OR 的 REF。 Pojistovna 和 Pojistovna_OR 都填充了相同的数据,但一个是关系型的,第二个是基于对象类型的。

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

 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;  

此代码抛出错误:

单行子查询返回多行

【问题讨论】:

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


    【解决方案1】:

    不要在子查询中使用 pacient pac。将其链接到您的主要 from 子句中的 pacient。最好不要为此使用子查询。

    【讨论】:

    • 哦,从子查询中删除 pacient pac 是对的。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    • 1970-01-01
    • 2019-02-25
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多