Sql 基于文件类型导出Blob

Sql 基于文件类型导出Blob,sql,plsql,oracle12c,Sql,Plsql,Oracle12c,我拥有对Oracle数据库的最低控制读访问权限。我正在尝试构建一个PowerShell(因为数据库在Windows上)脚本,该脚本可以接受很少的参数,并根据Blob的文件类型处理数据。现在,我正在通过右键单击从SQLDeveloper导出内容,然后根据SO保存它们。然而,对于数百个表来说,这样做将花费很长时间。我不是甲骨文专家。因此,尝试使用SQL(如果不是PL/SQL)轻松完成此操作,它可以将BLOB列导出到本地Windows驱动器,以便我的PowerShell脚本可以根据我传递的参数将文件重

我拥有对Oracle数据库的最低控制读访问权限。我正在尝试构建一个PowerShell(因为数据库在Windows上)脚本,该脚本可以接受很少的参数,并根据Blob的文件类型处理数据。现在,我正在通过右键单击从SQLDeveloper导出内容,然后根据SO保存它们。然而,对于数百个表来说,这样做将花费很长时间。我不是甲骨文专家。因此,尝试使用SQL(如果不是PL/SQL)轻松完成此操作,它可以将BLOB列导出到本地Windows驱动器,以便我的PowerShell脚本可以根据我传递的参数将文件重命名为图像或文本

这是我的桌子的结构

CREATE TABLE JLR.RUNNERS 
(
  ENTITY_TYPE_ID VARCHAR2(32 CHAR) DEFAULT SYS_GUID() NOT NULL 
, NAME VARCHAR2(64 CHAR) NOT NULL 
, CAPTION VARCHAR2(64 CHAR) NOT NULL 
, RUNNER_ICON BLOB 
) ;


CREATE TABLE JLR.WINNERS 
(
  ENTITY_TYPE_ID VARCHAR2(32 CHAR) DEFAULT SYS_GUID() NOT NULL 
, NAME VARCHAR2(64 CHAR) NOT NULL 
, CAPTION VARCHAR2(64 CHAR) NOT NULL 
, WINNER_FILE CLOB
, WINNER_ICON BLOB 
);
对于上面的表,如果我将blob列作为参数传递,SQL应该将每个记录作为单独的文件导出到我作为另一个参数传递的位置。如上所述,一些表可能有多个blob列,我应该能够将它们提取到两个单独的子目录中,并使用表的列名。(如果这个导出过程可以告诉我文件的扩展名类型,就像.docx、.xlsx、.pptx、.pdf等那样,那就太好了。)

PS:我不能使用SQL和/或PL/SQL以外的任何其他工具来完成这项工作