【发布时间】:2017-05-14 11:23:31
【问题描述】:
我正在尝试在包含两个表中的列的视图中插入一些数据。 问题是我收到错误:
SQL Error: ORA-01779: cannot modify a column which maps to a non key-preserved table
这是我的代码:
CREATE VIEW testvizualizare AS
SELECT
F.id_formatie, F.nume nume_formatie, F.data_lansare, F.tara_prov,
A.data_l, A.gen, A.id_album, A.id_formatie id_formatie_album, A.nume nume_album, A.pret
FROM
formatie F JOIN album A ON(F.id_formatie = A.id_formatie)
JOIN castiga C ON (C.id_formatie = A.id_formatie)
JOIN premiu P ON(P.id_premiu = C.id_premiu)
WHERE
EXISTS(
SELECT
1
FROM
formatie F1 JOIN album A1 ON(F1.id_formatie = A1.id_formatie)
JOIN castiga C1 ON (C1.id_formatie = A1.id_formatie)
JOIN premiu P1 ON(P1.id_premiu = C1.id_premiu)
WHERE
f1.id_formatie = F.id_formatie AND LOWER(a1.gen) = 'pop');
INSERT INTO testvizualizare
VALUES(100, 'Atmosphere', (SELECT TO_DATE('01011996', 'DDMMYYYY') FROM DUAL), 'USA', (SELECT TO_DATE('06052014', 'DDMMYYYY') FROM DUAL), 'Hip-Hop', 999, 100, 'Southsiders', 15);
我猜问题出在连接上。我为每个表(F 和 A)分别创建了两个插入。我也尝试删除A.id_formatie,但没有成功。
感谢任何帮助!谢谢。
【问题讨论】: