我的文件名为book.txt
,其中的行如下:
$ cat book.txt
English
French
Russian
在pl sql
代码中,我需要读取此文件,并在一行中生成输出,逗号分隔如下:
English, French, Russian
请帮忙!
答案 0 :(得分:0)
执行此操作的最佳方法是创建外部表,然后使用普通DML处理文件中的数据:
CREATE OR REPLACE DIRECTORY YOUR_DIR AS '/directory/where/your/file/is/located';
CREATE TABLE BOOK_TABLE
(BOOK_LANGUAGE VARCHAR2(2000))
ORGANIZATION EXTERNAL
(DEFAULT DIRECTORY YOUR_DIR
LOCATION ('book.txt'));
DECLARE
bFirst_row BOOLEAN := TRUE;
BEGIN
FOR aRow IN (SELECT * FROM BOOK_TABLE)
LOOP
IF NOT bFirst_row THEN
DBMS_OUTPUT.PUT(', ');
END IF;
bFirst_row := FALSE;
DBMS_OUTPUT.PUT(aRow.BOOK_LANGUAGE);
END LOOP;
DBMS_OUTPUT.PUT_LINE('');
END;
您需要更改在创建YOUR_DIR时指定的目录,因为我不知道此文件在您的计算机上的位置。或者只需在此答案下方添加评论,并附上目录名称。
祝你好运!