You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求可生成递增数字/星号等图案的Oracle PLSQL程序

PLSQL实现多类型递增图案输出方案

需求说明

编写PLSQL程序实现递增数字、星号、井号等类型的图案输出,递增数字图案预期样例如下:

1
12
123
1234
12345

注意事项

  • 执行PLSQL打印逻辑前需要先执行SET SERVEROUTPUT ON;开启服务端输出开关,否则无法在控制台看到打印结果

通用实现代码

以下封装的存储过程支持自定义图案类型、输出行数,可直接复用:

CREATE OR REPLACE PROCEDURE print_pattern(
    p_pattern_type VARCHAR2, -- 图案类型可选值:'NUM'数字/'STAR'星号/'HASH'井号
    p_max_rows NUMBER -- 最大输出行数
) AS
    v_line_content VARCHAR2(100);
BEGIN
    -- 外层循环控制输出行数
    FOR i IN 1..p_max_rows LOOP
        v_line_content := '';
        -- 内层循环拼接当前行内容
        FOR j IN 1..i LOOP
            CASE p_pattern_type
                WHEN 'NUM' THEN v_line_content := v_line_content || TO_CHAR(j);
                WHEN 'STAR' THEN v_line_content := v_line_content || '*';
                WHEN 'HASH' THEN v_line_content := v_line_content || '#';
                ELSE RAISE_APPLICATION_ERROR(-20001, '不支持的图案类型,仅支持NUM/STAR/HASH三类');
            END CASE;
        END LOOP;
        -- 打印当前行
        DBMS_OUTPUT.PUT_LINE(v_line_content);
    END LOOP;
END;
/

调用示例

  • 输出5行递增数字图案(匹配需求预期效果)
BEGIN
    print_pattern('NUM', 5);
END;
/
  • 输出4行星号递增图案
BEGIN
    print_pattern('STAR', 4);
END;
/

输出效果:

*
**
***
****
  • 输出6行井号递增图案
BEGIN
    print_pattern('HASH', 6);
END;
/

输出效果:

#
##
###
####
#####
######

内容的提问来源于stack exchange,提问作者user17150232

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 17:36:05