我正在尝试使此查询正常工作。我想在Oficina_bancaria的嵌套表Cuentas中插入存储在Cuenta表中的Corriente_udt行的ref():
(SELECT ref(TREAT(VALUE(c) AS Corriente_udt)) FROM Cuenta c WHERE c.IBAN = '1654ES6639071895270420369756');
Corriente_udt是Cuenta_udt的子类型,它是Cuenta表的数据类型。
这是我得到的错误:
ORA-00907: missing right parenthesis
我已经尝试过:
(SELECT ref(c) FROM Cuenta c WHERE c.IBAN = '1654ES6639071895270420369756');
但是我也得到一个错误:
ORA-00932: inconsistent datatypes: expected REF USER.CORRIENTE_UDT got REF USER.CUENTA_UDT
这是我的完整查询:
INSERT INTO TABLE (SELECT o.Cuentas FROM Oficina_bancaria o WHERE o.Codigo = 1439 AND o.Direccion = 'Alameda de Esperanza Vives 978 Valencia, 32678') (SELECT ref(TREAT(VALUE(c) AS Corriente_udt)) FROM Cuenta c WHERE c.IBAN = '1654ES6639071895270420369756');
答案 0 :(得分:2)
我想在Oficina_bancaria的嵌套表Cuentas中插入存储在Cuenta表中的Corriente_udt行的ref()
尚不清楚您要从描述中获得什么,但是我认为您想在{{ 1}}表。
查询:
Cuentas
或者,也许:
corrientes_array
(如果在Oficina_bancaria
表中找不到引用,则不应将引用插入数组中。)
db <>提琴here