【问题标题】:Looping statement循环语句
【发布时间】:2015-12-11 17:08:27
【问题描述】:

我正在处理一个循环,以恢复从 1 到 12 的时间表。我已经使用以下方法完成了这项工作:

BEGIN
FOR i IN 1..12
LOOP
FOR j IN (i)..12
LOOP
dbms_output.put_line ( (i ) || '*' || (j ) || ('=') || (i*j) );
END LOOP;
END LOOP;
END;
/

它会带回来:

1*1=1
1*2=2
1*3=3
1*4=4
1*5=5
1*6=6
1*7=7
1*8=8
1*9=9
1*10=10
1*11=11
1*12=12
2*2=4
2*3=6
2*4=8
etc..

它带回了我想要的所有时间表。现在我希望它为每组带回一个标题,我该怎么做?例如

1 timetable 
1*1=1
1*2=2
1*3=3
1*4=4
1*5=5
1*6=6
1*7=7
1*8=8
1*9=9
1*10=10
1*11=11
1*12=12
2 timestable
2*2=4
2*3=6
2*4=8

这可能吗?

谢谢

【问题讨论】:

    标签: sql loops oracle11g dbms-output


    【解决方案1】:

    试试;

    BEGIN
        FOR i IN 1..12 LOOP
            dbms_output.put_line(to_char(i) || ' timetable');
            FOR j IN (i)..12 LOOP
                dbms_output.put_line ( (i ) || '*' || (j ) || ('=') || (i*j) );
            END LOOP;
        END LOOP;
    END;
    /
    

    【讨论】:

    • 效果很好!谢谢。 5分钟后我会接受答案。感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 2017-06-20
    • 2019-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多