Form a cartesian:
consider my original table:
Code:
SQL> select *
2 from mhe_foo
3 /
ID TEXT
---------- -------------------------
1 One
2 Two
3 Three
4 Four
Now, form a cartesian with dual:
Code:
SQL> select M.*
2 from mhe_foo M
3 , ( select level from dual connect by level <= &g )
4 /
Enter value for g: 1
old 3: , ( select level from dual connect by level <= &g )
new 3: , ( select level from dual connect by level <= 1 )
ID TEXT
---------- -------------------------
1 One
2 Two
3 Three
4 Four
SQL> /
Enter value for g: 3
old 3: , ( select level from dual connect by level <= &g )
new 3: , ( select level from dual connect by level <= 3 )
ID TEXT
---------- -------------------------
1 One
2 Two
3 Three
4 Four
1 One
2 Two
3 Three
4 Four
1 One
2 Two
3 Three
ID TEXT
---------- -------------------------
4 Four
12 rows selected.
This dual..level trick is useful if you need a table with n rows and you don't want to query dictionary tables. It only works from 9i and up.
MHE