Я пробовал следующий код, так как у меня были проблемы в моем собственном коде с аналогичной реализацией. Почему я получаю сообщение об ошибке «ORA-00932: несоответствующие типы данных: ожидаемый CHAR получил REF SQL_CTACWAZJUEYWUEKVFEHCWNTZQ.TABLE1_TYPE» при выполнении запроса «Выбрать REF». Я ожидаю, что «[TST.TABLE1_TYPE]» будет отображаться. В настоящее время я использую Oracle Live SQL.
Create or replace type table1_Type as object (
id integer,
dateStart date,
etc varchar2(20));
-- TYPE TABLE1_TYPE compiled
create table table1 of table1_type;
-- table TABLE1 created.
Create or replace type table2_type as object(
id integer,
items varchar2(30),
datePurchased varchar2(20),
table1_Ref REF table1_type);
-- TYPE TABLE2_TYPE compiled
create table table2 of table2_type;
--table TABLE2 created.
INSERT INTO table1 VALUES(table1_Type(1, SYSDATE, 'etc1...'));
INSERT INTO table1 VALUES(table1_Type(2, SYSDATE, 'etc2...'));
SELECT REF(t)
FROM table1 t
WHERE id = 1;