• + 1 comment

    you can do this with 20 levels, just need the right padding size:

    select rpad('*', level*2, ' *') from dual
    connect by level <= 20;
    

    or to flip the triangle:

    rpad('*', (20 - level + 1) * 2, ' *')