我是在 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/