1
我想手动将自定义BLOB
文件插入到本地表变量中。我想使用它像VARRAY
但我使用TABLE
类型,因为我不知道文件的最大数量。在oracle中插入自定义记录TABLE-VARRAY
这是我的包代码:
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
类型,因为我没有特权(我不会得到它们)。
还有一种方法可以实现它只是使用变量?
简单是最终的复杂,感谢的人 –