おすすめ本

最近のトラックバック

  • event (夢茶爺&苦茶爺のPC奮戦備忘録)

AccRanking

Ad

« 【SQL-Server】WITH句を使って同一処理SQLを複数回利用する | メイン | 【MySQL】テーブルカラムに後からAUTO_INCREMENTを設定する方法について »

2019年10月 4日 (金)

【SQL-Server】WITH句を使った再帰処理で連番の生成

WITH句 の中で自分自身を読んでやれば再帰的に処理が行われる様です。 以下のSQLでは連番を生成する処理を再帰処理で行っています。

このSQLを実行すると以下の様になります。

With21


但し、このままでは100件までの再帰処理しかできない様で、「SEQNO < 102」と指定すると以下の様にエラーが発生します。
メッセージ 530、レベル 16、状態 1、行 1
ステートメントが終了しました。ステートメントの完了前に最大再帰数 100 に達しました。

With22

このエラーも OPTION (MAXRECURSION nnn) として指定し「nnn」に101以上を指定すればできることになります。
尚、 MAXRECURSION の範囲は「0」~「32767」で「0」指定は制限が無い様です。 制限無しでもあまりに大きい値は問題有りだとは思います。
楽天市場

トラックバック

このページのトラックバックURL:
http://app.mitelog.jp/t/trackback/459161/34192199

【SQL-Server】WITH句を使った再帰処理で連番の生成を参照しているブログ:

コメント

コメントを投稿