再帰でピボットテーブル

『アート・オブ・SQL』(ISBN:9784873113364)が手元にないのでうろ覚えでやったら、資料見たりで5分以上かかったので、次使うこと考えてメモしておきます。
実在するテーブル使わないとWITH RECURSIVEでエラーになるDBMS用。
っていうか、最初からテーブル(この場合pivot)が空だったら、count(*) - count(*)なんて馬鹿げた事しなくて、count(*) + 1(1始まりの場合)で。

WITH RECURSIVE pivot(val) AS
(
    SELECT COUNT(*) * 0 + 1 AS val
    FROM 任意のテーブル
    UNION ALL
    SELECT val + 1 AS val
    FROM pivot
    WHERE val < 100
)
SELECT val FROM pivot

2010-02-14追記:SQLの内容を修正