Я пытаюсь заставить этот запрос работать.Я хочу вставить в вложенную таблицу Oficina_bancaria Cuentas ref () строки Corriente_udt, хранящейся в таблице Cuenta:
(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');