テキストデータをPL/SQLでインポートするにはどうすればよいですか。
PL/SQLでは、テキストデータをインポートするためにUTL_FILEパッケージを使用することができます。以下に、テキストデータをインポートする方法を示すサンプルコードを示します。
- 先にディレクトリオブジェクトを作成し、インポートするファイルのディレクトリを指定します。
CREATE DIRECTORY text_files AS '/path/to/directory';
- UTL_FILEパッケージのFOPEN関数を使用してインポートするテキストファイルを開き、GET_LINE関数を使用して各行のデータを読み込むPL/SQLプロシージャを作成する
DECLARE
file_handle UTL_FILE.FILE_TYPE;
file_name VARCHAR2(100) := 'text_file.txt'; -- 要导入的文本文件名
line_text VARCHAR2(4000);
BEGIN
file_handle := UTL_FILE.FOPEN('TEXT_FILES', file_name, 'R'); -- 打开文本文件
LOOP
UTL_FILE.GET_LINE(file_handle, line_text); -- 读取一行数据
-- 在此处可以对读取到的数据进行处理,例如插入到表中
-- INSERT INTO your_table (column1, column2, ...) VALUES (line_text, ...);
EXIT WHEN UTL_FILE.IS_EOF(file_handle); -- 如果读取到文件末尾,则退出循环
END LOOP;
UTL_FILE.FCLOSE(file_handle); -- 关闭文件
END;
実行前に、データベースユーザーがファイルとディレクトリへのアクセスに必要な権限を持っていることを確認してください。また、上記のコード内の「/path/to/directory」は実際のディレクトリパスに置き換え、「text_file.txt」は実際のファイル名に置き換えてください。