DECLARE
TYPE Outer_Loop IS TABLE OF VARCHAR2 (4000);
TYPE Inner_Loop IS VARRAY (50) OF VARCHAR2 (50 Byte)
OL Outer_Loop := Outer_Loop ('1','2');
IL Inner_Loop := Inner_Loop ('ONE','TWO','THREE','FOUR')
BEGIN
FOR I IN 1 .. OL.COUNT
LOOP
EXECUTE IMMEDIATE
'UPDATE User_'
|| OL (I)
FOR J IN 1 .. IL.COUNTER
LOOP
|| 'set Number = '
|| IL (J);
DBMS_OUTPUT.PUT_LINE (
'IN User_' || OL(I) || 'set Number AS' || IL (J) );
END LOOP;
COMMIT;
END;
预期结果:我想用一个,两个,三个,四个来更新每个用户。所以我期望的结果是
IN User_1 set Number AS ONE
IN User_1 set Number AS TWO
IN User_1 set Number AS THREE
IN User_1 set Number AS FOUR
IN User_2 set Number AS ONE
IN User_2 set Number AS TWO
IN User_2 set Number AS THREE
IN User_2 set Number AS FOUR
为我输入1 .. OL.COUNT环立即执行“更新用户_”|| OL(I)对于J IN 1 .. IL.COUNTER环|| '设置编号='|| IL(J);