我有一个存储过程,可以使用 UTL 函数将 CSV 数据插入到 oracle 表中。我遇到困难的部分是当我在regexp_substr插入目标表之前必须使用时。我浏览了regexp_substr各种网站,但仍然不太掌握如何将其应用到这个特定导入程序的概念。
例如,假设我们有以下几行代码:
V_EMPNO := REGEXP_SUBSTR(V_LINE, '[^,]+', 1, 1);
V_ENAME := REGEXP_SUBSTR(V_LINE, '[^,]+', 1, 2);
Run Code Online (Sandbox Code Playgroud)
我的直率问题是,有人可以向我解释一下这条线的逻辑是如何工作的吗?我有一个 CSV 文件和包含 75 个字段的目标表,所以这当然只是一个样本,我知道我已经把这一部分写得很长了。我假设字符串的最后一部分只是行号,所以我不断增加它。
我的另一个问题是,我是否应该继续将所有记录定义为变量,并对regexp_substr属于导入一部分的所有字段单独执行操作?