阅读量:0
在PL/SQL中导入CSV文件通常需要使用外部表(external table)的方式。以下是一个简单的示例代码:
- 首先,创建一个外部表来导入CSV文件:
CREATE TABLE emp_external ( emp_id NUMBER, emp_name VARCHAR2(50), emp_salary NUMBER ) ORGANIZATION EXTERNAL ( TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_dir ACCESS PARAMETERS ( RECORDS DELIMITED BY NEWLINE FIELDS TERMINATED BY ',' MISSING FIELD VALUES ARE NULL ) LOCATION ('employees.csv') ) REJECT LIMIT UNLIMITED;
在上面的代码中,我们创建了一个名为emp_external
的外部表,指定了CSV文件的格式和位置。
- 接下来,使用
DBMS_LOB
包中的LOADFROMFILE
过程来加载CSV文件数据到数据库表中:
DECLARE v_file BFILE := BFILENAME('EXT_DIR', 'employees.csv'); BEGIN DBMS_LOB.FILEOPEN(v_file, DBMS_LOB.LOB_READONLY); DBMS_LOB.LOADFROMFILE(lob_loc => emp_external, blob_loc => v_file, amount => DBMS_LOB.GETLENGTH(v_file)); DBMS_LOB.FILECLOSE(v_file); END;
在上面的代码中,我们打开CSV文件并将其加载到外部表emp_external
中。
请注意,要成功运行以上代码,需要先确保CSV文件存在并且PL/SQL会话有权限读取外部文件。