我想手动将自定义BLOB
文件插入到本地表变量中。我想像VARRAY
一样使用它,但我使用的是TABLE
类型,因为我不知道最大文件数。
这是我的包裹的代码:
CREATE OR REPLACE PACKAGE my_pkg AS
TYPE rec_headers IS RECORD
(
file1 BLOB := EMPTY_BLOB(),
file2 BLOB := EMPTY_BLOB()
);
TYPE tab_headers IS TABLE OF rec_headers;
END my_pkg;
这是我的PL \ SQL块:
DECLARE
p_headers my_pkg.tab_headers;
p_my_file1 BLOB := EMPTY_BLOB();
p_my_file2 BLOB := EMPTY_BLOB();
BEGIN
p_headers := my_pkg.tab_headers();
/* Process that fills p_my_file1 and p_my_file2 */
p_headers.EXTEND;
p_headers(1) := my_pkg.rec_headers(p_my_file1, p_my_file2);
END;
/
我收到以下错误
PLS-00222: no function with name 'REC_HEADERS' exists in this scope
我假设是因为rec_headers
属于RECORD
类型,所以我尝试将其更改为OBJECT
,但后来却抱怨包内不支持。
我无法在包外创建OBJECT
类型,因为我没有权限(我不会得到它们)。
还有一种方法可以使用变量实现它吗?
答案 0 :(得分:2)
您应该能够直接引用记录的字段,而不是尝试使用构造函数。
DoubleEndedIterator