Oracle 11g中的返回列表/类型/数组blob

时间:2013-06-02 17:45:38

标签: plsql oracle11g blob

有没有办法在函数中返回一些Blob?例如在数组中?我需要以StillImage格式返回我在数据库中的一些图片。但为了获得良好的映射,我需要将它们转换为blob。但是我没有找到任何返回blob数组的方法,导致Oracle中的类型不支持复杂类型。

1 个答案:

答案 0 :(得分:1)

当您说“Oracle中的类型不支持复杂类型”时,我不确定我理解您的意思。你当然可以定义一组BLOB

SQL> create type blob_nt is table of blob;
  2  /

Type created.

然后编写一个返回此集合类型的函数

CREATE OR REPLACE FUNCTION get_blobs
  RETURN blob_nt
IS
BEGIN
  <<your logic>>
END;

根据BLOB的大小和“少数”对您的意义,编写一个流水线表函数来管理单个BLOB而不是将多个BLOB加载到稀缺的PGA内存中可能更有意义。