APEX中的pl / sql嵌套表分配问题

时间:2014-04-10 12:28:50

标签: oracle plsql oracle-apex

所有

我已经和这个问题争论了一段时间,现在,似乎有一些我想念的东西很简单,但我还没有弄明白

我试图在APEX中使用pl / sql嵌套表来整理并将不同表中的数据返回到页面视图。

作为测试,我创建了一个嵌套的表对象并输入:

CREATE OR REPLACE TYPE  "E_TEST" as object (
col1 varchar2(8),
col2 varchar2(16)
)
/

CREATE OR REPLACE TYPE  "E_TEST_TAB" as table of e_test
/

当我尝试使用以下代码填充嵌套表时:

declare
l_test e_test_tab := e_test_tab();
begin
l_test.extend;
l_test(l_test.last) := e_test_tab('testing','testing12345');
end

我收到这些错误:

ORA-06550: line 5, column 24:
PLS-00306: wrong number or types of arguments in call to 'E_TEST_TAB'
ORA-06550: line 5, column 24:
PLS-00306: wrong number or types of arguments in call to 'E_TEST_TAB'
ORA-06550: line 5, column 1:
PL/SQL: Statement ignored

我已经搜索了几天的答案,但我能看到的一切都说我正确地创建并填充了对象,并且搜索了与PLS-00306相关的错误。 t返回特定于嵌套表上下文的特定内容。我是pl / sql的新手,所以很有可能我错过了一些简单的东西,但是我认识的那些可能帮助我的人不会使用很多东西。收藏品,所以他们也被这个收藏所困扰。

提前感谢您的协助。

贾斯汀

1 个答案:

答案 0 :(得分:3)

declare
l_test e_test_tab := e_test_tab();
begin
l_test.extend;
l_test(l_test.last) := e_test('testing','testing12345');
end;
/

在分配个人记录时必须e_test() 只有在初始化嵌套集合时,我们才使用e_test_tab()