CREATE OR REPLACE PROCEDURE SP_VALUE(P_A1 IN VARCHAR2, P_A2 IN VARCHAR2) AS
V_NUM NUMBER;
V_A1 VARCHAR2(200);
BEGIN
---1,2,3,4
V_A1 := P_A1;
IF INSTR(P_A1, ',', 1, 1) <> 0 THEN
LOOP
INSERT INTO A
(A1, A2)
SELECT SUBSTR(V_A1, 1, INSTR(V_A1, ',', 1, 1) - 1), P_A2 FROM DUAL;
COMMIT;
V_A1 := SUBSTR(V_A1, INSTR(V_A1, ',', 1, 1) + 1);
SELECT INSTR(V_A1, ',', 1, 1) INTO V_NUM FROM DUAL;
IF V_NUM = 0 THEN
INSERT INTO A
(A1, A2)
SELECT V_A1, P_A2 FROM DUAL;
COMMIT;
EXIT;
END IF;
END LOOP;
END IF;
END SP_VALUE;
declare @i int
set @i = 0
while @i < 8 --根据你的数据长短,适当修改值的大小
begin
insert into a (a1,a2)
select substring(a1,@i,1),a2 from a
where len(a1) >4
set @i = @i + 2
end
最后如果原来的数据不需要的话,就删掉
大概就是这样吧,没有确认过,请适当修改,请参考。
2重循环,和你用其他语言一样的。