尝试更新Oracle嵌套表时出错



我正在尝试更新oracle嵌套表中的一些字段,以便插入一些值,问题是我无法将结果检索为嵌套表。以下是我试图运行的查询:

update utilisation_obj
set listerefaccess = (
select ref(a)
from refaccessoireimb a
where a.refaccessoire.accessoire in ('ballon', 'barre')
)
where  deref(utilisation_obj.REFTITREDENUM).titreDeNumero = 'Les Zoupalas' and 
deref(utilisation_obj.REFUTILISATEUR).nom = 'Louis';

错误如下:

不一致的数据类型:预期CIRQUEOR.LISTEREFACCESS_T得到:REF CIRQUEOR.REFACCESSOIRE_T

我找到了这个解决方案,但我希望有一个更动态的解决方案,因为这个解决方案会迫使我知道我希望有多少行具有

INSERT INTO Utilisation_Obj
Select Ref(N), Ref(P), ListeRefAccess_T(RefAccessoire_T(ref(A1)),RefAccessoire_T(ref(A2)))
From Numeros_Obj N, Personnel_Obj P, Accessoire_Obj A1,Accessoire_Obj A2
Where N.TitreDeNumero = 'Les Zoupalas' and P.Nom = 'Louis' and
A1.accessoire = 'ballon' and A2.accessoire = 'barre';

相关内容

最新更新