sql >> データベース >  >> RDS >> Oracle

PL/SQLでのアルファベットピラミッドの印刷

    これは機能します:

    DECLARE
        aLine VARCHAR2(100);
    BEGIN
        FOR PyramidLevel IN 0..25 LOOP
            aLine := NULL;
    
            FOR i IN 0..PyramidLevel-1 LOOP
                aLine := aLine || CHR(i+65);
            END LOOP; 
    
            FOR i IN REVERSE 0..PyramidLevel LOOP
                aLine := aLine || CHR(i+65);
            END LOOP;
            aLine := LPAD(aLine, 26+PyramidLevel);       
    
           DBMS_OUTPUT.PUT_LINE('_'||aLine);
        END LOOP;
    END;
    
    
    _                         A
    _                        ABA
    _                       ABCBA
    _                      ABCDCBA
    _                     ABCDEDCBA
    _                    ABCDEFEDCBA
    _                   ABCDEFGFEDCBA
    _                  ABCDEFGHGFEDCBA
    _                 ABCDEFGHIHGFEDCBA
    _                ABCDEFGHIJIHGFEDCBA
    _               ABCDEFGHIJKJIHGFEDCBA
    _              ABCDEFGHIJKLKJIHGFEDCBA
    _             ABCDEFGHIJKLMLKJIHGFEDCBA
    _            ABCDEFGHIJKLMNMLKJIHGFEDCBA
    _           ABCDEFGHIJKLMNONMLKJIHGFEDCBA
    _          ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA
    _         ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA
    _        ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA
    _       ABCDEFGHIJKLMNOPQRSRQPONMLKJIHGFEDCBA
    _      ABCDEFGHIJKLMNOPQRSTSRQPONMLKJIHGFEDCBA
    _     ABCDEFGHIJKLMNOPQRSTUTSRQPONMLKJIHGFEDCBA
    _    ABCDEFGHIJKLMNOPQRSTUVUTSRQPONMLKJIHGFEDCBA
    _   ABCDEFGHIJKLMNOPQRSTUVWVUTSRQPONMLKJIHGFEDCBA
    _  ABCDEFGHIJKLMNOPQRSTUVWXWVUTSRQPONMLKJIHGFEDCBA
    _ ABCDEFGHIJKLMNOPQRSTUVWXYXWVUTSRQPONMLKJIHGFEDCBA
    _ABCDEFGHIJKLMNOPQRSTUVWXYZYXWVUTSRQPONMLKJIHGFEDCBA
    

    DBMS_OUTPUT.PUT_LINE()のように見えます (少なくとも私のTOADでは)先頭のスペース文字をトリミングするので、_を配置します 最初に。



    1. 例外'yii2での移行中にドライバーが見つかりませんでした'

    2. REPLACEを使用したupdateステートメントのmysqlケース

    3. すでに定義されている環境変数にputenv()が必要なのはなぜですか?

    4. 致命的なエラー:stdClass型のオブジェクトを配列として使用できません