【发布时间】:2021-09-28 02:54:33
【问题描述】:
表数据:
id text
1 CLARE|FEMALE|PRESIDENT
2 SCARLET|FEMALE|MANAGER
3 FRANK|MALE|ANALYST
...
我需要做的是获取竖条之间的所有数据并将其放入我的变量中(用于插入另一个表),
这是我尝试过的:
DECLARE
v_NAME varchar2(100);
v_GENDER nvarchar2(100);
v_POSITION nvarchar2(100);
CURSOR c1
IS
SELECT *
FROM DATA
ORDER BY id;
BEGIN
FOR x IN c1 LOOP
v_NAME := REGEXP_SUBSTR(x.TEXT_NOTE, '[^|]+', 1, 1);
v_GENDER := REGEXP_SUBSTR(x.TEXT_NOTE, '[^|]+', 1, 2);
v_POSITION := REGEXP_SUBSTR(x.TEXT_NOTE, '[^|]+', 1, 3);
DBMS_OUTPUT.PUT_LINE(v_NAME ,v_GENDER ,v_POSITION); --test
END LOOP;
END;
显然我没有这样做,因为它不起作用。有人可以提出解决方案吗?
谢谢!
【问题讨论】: