17,377
社区成员
发帖
与我相关
我的任务
分享
CREATE OR REPLACE PROCEDURE test_ForlnLoop is
cursor test_cursor is
SELECT TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE, 'YYYY'), ROWNUM - 1), 'YYYYMM') TIMENY
FROM DUAL
CONNECT BY ROWNUM <= TO_NUMBER(TO_CHAR(SYSDATE, 'MM'))
ORDER BY TIMENY DESC;
w_timeny test_cursor%rowtype;
begin
for w_timeny in test_cursor loop
insert into t_test (timeny) VALUES (w_timeny);
end loop;
commit;
end;
CREATE OR REPLACE PROCEDURE TEST_FORLNLOOP IS
--W_TIMENY VARCHAR(100);
CURSOR TEST_CURSOR IS
SELECT TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE, 'YYYY'), ROWNUM - 1), 'YYYYMM') TIMENY
FROM DUAL
CONNECT BY ROWNUM <= TO_NUMBER(TO_CHAR(SYSDATE, 'MM'))
ORDER BY TIMENY DESC;
BEGIN
FOR W_TIMENY IN TEST_CURSOR LOOP
INSERT INTO T_TEST (TIMENY) VALUES (W_TIMENY.TIMENY);
END LOOP;
COMMIT;
END;