如何在甲骨文中获取文件大小或对象大小



>我有一个表,其中包含三列ID,Obj_name,表中的对象。对象是指位于文件夹中的元数据/文件。如何编写脚本来检查每个对象的文件大小是多少。

输出喜欢

ID,Obj_name,对象,File_size.

如果有任何想法,请告诉我。

试试这个:

 DECLARE
 v_fexists      BOOLEAN;
 v_file_length  NUMBER;
 v_block_size   BINARY_INTEGER;
 BEGIN
  UTL_FILE.FGETATTR
     ('NFS_DIR', 'west.txt', v_fexists, v_file_length, 
 v_block_size);
  DBMS_OUTPUT.PUT_LINE (v_file_length);
END;

由于object是一个bfile,你可以做类似的事情

CREATE OR REPLACE FUNCTION( p_id IN INTEGER )
  RETURN INTEGER
IS
  l_bfile  bfile;
  l_length integer;
BEGIN
  SELECT object
    INTO l_bfile
    FROM your_table
   WHERE id = p_id;
  DBMS_LOB.OPEN(l_bfile, DBMS_LOB.LOB_READONLY);
  /* Get the length of the LOB: */
  l_length := DBMS_LOB.GETLENGTH(l_bfile);
  DBMS_LOB.CLOSE(l_bfile);
  RETURN l_length;
END;

然后从传入id的查询中调用该函数。 请注意,此示例直接取自有关 LOB 的文档

最新更新