下面显示的 PL/SQL 脚本在第 20 行执行失败:
declare
type string_table is table of varchar(100);
v_names string_table := string_table();
begin
v_names.EXTEND(3);
v_names(1) := 'name1';
v_names(2) := 'name2';
v_names(3) := 'name3';
dbms_output.put_line(v_names(1));
dbms_output.put_line(v_names(2));
dbms_output.put_line(v_names(3));
dbms_output.put_line(v_names.COUNT());
20 select * from table(v_names);
end;
以下是报告的错误消息:
ORA-06550:第 20 行,第 23 列: PLS-00642:SQL 语句中不允许使用本地集合类型 ORA-06550:第 20 行,第 17 列: PL/SQL: ORA-22905: 无法访问非嵌套表项中的行 ORA-06550:第 20 行,第 3 列: PL/SQL:忽略 SQL 语句。
任何想法如何解决这个问题。
请注意,我编写此代码只是为了将此问题发布给 SO。类似的代码是更大包的一部分......
提前致谢!
禅