Хотите ли вы таблицу строк, проиндексированных вашим пользовательским типом? Или вы хотите таблицу вашего пользовательского типа, проиндексированную по строкам? В любом случае, объявление test1
не соответствует тому, как вы его используете ниже.
Попробуйте следующий код:
declare
TYPE test1 IS TABLE OF t_loc INDEX BY VARCHAR2(100);
test2 test1;
begin
test2('abad') := t_loc('ahmedabad','CT');
test2('bang') := t_loc('bangalure','S');
test2('surat') := t_loc('Surat','C');
dbms_output.put_line(test2('surat').name);
end;
/