Create multi row dataset using dual and connect by

Sometimes you want to create a dummy recordset by querying dual. Obviously you could write the following, but that becomes tedious beyond even a few rows.

SELECT 1 a FROM dual UNION SELECT 2 a FROM dual

This select statement uses connect by to generate a result set with as many rows as you want. In this example I am after 100.

SELECT level FROM dual
CONNECT BY level < 101;