適材適所

PowerShellを中心にプログラミングやシステム管理の備忘録的なブログ

【AS400,IBMi】 Db2 for iのSQLで連番を生成する

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命名規則に則っていれば任意の名前をつけることができます。

とっても簡単ですが、備忘録として。

参考

DB2 for i SQL: 再帰的照会の使用

`; Array.prototype.forEach.call(document.getElementsByClassName('kijinai_koukoku'),function(d){d.innerHTML=KIJINAI_ADS;}); Array.prototype.forEach.call(document.getElementsByClassName('adsbygoogle'), function(){ (adsbygoogle = window.adsbygoogle || []).push({});}); -->