sql - 如何使用UTF_FILE Oracle从CSV文件中分割数据

标签 sql database oracle plsql oracle11g

我是在 Oracle 中使用 UTF_FILE 的新手。我有一个 CSV 文件,其中包含超过 300K 条记录和 6 列,各列之间用逗号 "," 分隔。

我希望拆分所有这些数据并将其设置为一些变量,并通过 Pl/SQL 插入一些表或列,但我该如何做到这一点?

目前 pl/sql 的执行时间并不重要 [Oracle 11gR2 XE]

最佳答案

您问题的解决方案:

DECLARE
    v_row VARCHAR2(200) := 'a,b,c';
BEGIN
    FOR v_col IN (SELECT REGEXP_SUBSTR (v_row, '[^,]+', 1, LEVEL) cell FROM DUAL CONNECT BY REGEXP_SUBSTR (v_row, '[^,]+', 1, LEVEL) IS NOT NULL)
    LOOP
        DBMS_OUTPUT.PUT_LINE (v_col.cell);
    END LOOP;
END;

但就像评论所说:你不应该这样做。使用 SQL 加载器:Oracle: Import CSV file

关于sql - 如何使用UTF_FILE Oracle从CSV文件中分割数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51814856/

相关文章:

mysql - 在 SQL 中索引列或创建新表是否更有效?

Android Sqlite 数据库组建

java - 尝试使用 OCI 连接到 Oracle 时 JVM 崩溃

mysql - 如何从mysql中的3个表中获取数据?

java - 如何获取联系人号码的组ID(Android)

php - 将 Laravel 连接到另一个 IP 上的数据库

oracle - Oracle 8中如何增量求和?

mysql - 为什么我在使用 = 时找不到数据,但在使用时却显示出来

mysql - 仅显示每个对话的最新消息

json - 我在 oracle 12.1.0.2 中运行 json_object,它说错误。为什么?