Db2 for iのSQLで連番を生成するときの備忘録です。
WITH句の再帰クエリを使います。
Db2 for iのSQLで連番を生成する
次のように書くことで1~100までの連番を生成することができます。
WITH DUMMY(MAX_COUNT) AS (SELECT 1 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT MAX_COUNT + 1 FROM DUMMY WHERE MAX_COUNT <100) SELECT MAX_COUNT FROM DUMMY
MAX_COUNT <100 の100を修正することで任意の連番を作成することができます。
AS400(IBMi)用のDb2ではSYSIBM.SYSDUMMY1というダミーテーブルを指定します。
SYSIBM.SYSDUMMY1については↓ 【Db2 AS400】SYSIBM.SYSDUMMY1とは? - 適材適所
ちなみにDUMMYというテーブル名は私が勝手につけた名前なので
SQL命名規則に則っていれば任意の名前をつけることができます。
とっても簡単ですが、備忘録として。