17,086
社区成员
发帖
与我相关
我的任务
分享
给你个例子参考:
DECLARE
L_V VARCHAR2(200) := '"A","C","D"';
TYPE ABC IS TABLE OF VARCHAR2(5) INDEX BY BINARY_INTEGER;
L_A ABC;
L_RETAIN VARCHAR2(200);
L_I INT := 1;
BEGIN
LOOP
IF INSTR(L_V, ',', 1) > 1 THEN
L_A(L_I) := SUBSTR(L_V, 1, INSTR(L_V, ',', 1) - 1);
L_V := SUBSTR(L_V, INSTR(L_V, ',', 1) + 1);
ELSE
L_A(L_I) := L_V;
EXIT;
END IF;
L_I := L_I + 1;
END LOOP;
L_A(5) := '"I"'; --插入
L_A(2) := '"U"'; --更新
FOR I IN L_A.FIRST .. L_A.LAST LOOP
IF L_A.EXISTS(I) THEN
DBMS_OUTPUT.PUT_LINE(L_A(I));
END IF;
END LOOP;
END;
/
输出:
"A"
"U"
"D"
"I"