• + 0 comments
    -- For MySQL
    
    -- Method 1: Query Based
    
    WITH RECURSIVE numbers AS (
      SELECT 20 AS i
      UNION ALL
      SELECT i - 1 FROM numbers WHERE i > 1
    )
    SELECT REPEAT('*', i) AS stars
    FROM numbers;
    
    -- Method 2: Using  stored procedure
    
    CREATE PROCEDURE p()
    BEGIN
        DECLARE i INT DEFAULT 20;
        WHILE i >= 1 DO
            SELECT REPEAT('* ', i);
            SET i = i - 1;
        END WHILE;
    END##
    
    DELIMITER ;
    
    -- To run the procedure:
    CALL p();