Sql UTL_文件:即使遇到空行也要继续读取

Sql UTL_文件:即使遇到空行也要继续读取,sql,plsql,plsqldeveloper,Sql,Plsql,Plsqldeveloper,我是pl/sql新手,可能听起来很傻,但我有一个问题。通过使用utl_文件,我正在读取一个文本文件。但我的文本文件行与行之间有空格,我需要继续阅读所有内容,即使在这些空格之后。下面我显示了我使用的代码和文本文件的模板 DECLARE V1 VARCHAR2(200); F1 UTL_FILE.FILE_TYPE; BEGIN F1 := UTL_FILE.FOPEN('directory','text.txt','R');

我是pl/sql新手,可能听起来很傻,但我有一个问题。通过使用utl_文件,我正在读取一个文本文件。但我的文本文件行与行之间有空格,我需要继续阅读所有内容,即使在这些空格之后。下面我显示了我使用的代码和文本文件的模板

DECLARE 
        V1 VARCHAR2(200); 
        F1 UTL_FILE.FILE_TYPE;
     BEGIN 

        F1 := UTL_FILE.FOPEN('directory','text.txt','R'); 

        Loop
        BEGIN
    UTL_FILE.GET_LINE(F1,V1); 
     dbms_output.put_line(V1);
    EXCEPTION WHEN No_Data_Found THEN EXIT; END;
        end loop;
        dbms_output.put_line(emptylines);

        UTL_FILE.FCLOSE(F1); 
     END; 
     /
我的文本文件模板

alarma2
alarma2
alarma2


alarma3
alarma3
alarma3
alarma3

你知道我如何显示所有文件内容,而不仅仅是在空白处吗?

也许你可以试试这个:

...
    Loop
    BEGIN
       UTL_FILE.GET_LINE(F1,V1); 
       IF  (TRIM(V1) is not null) AND ((TRIM(V1) <> CHR(10)) OR (TRIM(V1) <> CHR(13)))  THEN
                  dbms_output.put_line(V1);
       END IF;
...
。。。
环
开始
UTL_文件。获取_行(F1,V1);
如果(TRIM(V1)不为null)和((TRIM(V1)CHR(10))或(TRIM(V1)CHR(13)),则
dbms_输出。输出线(V1);
如果结束;
...
我不知道你说的
dbms\u输出是什么意思所以我一点也不在乎:)。
也许您可以检查您正在处理的行是否不是空的,并且没有回车符(CHR(13))或换行符(CHR(10)),通过检查可以确定哪些行包含数据,哪些行不包含数据。
希望这有帮助