再帰SQLで最大再帰数の指定

公開日: : 最終更新日:2013/12/11 SQL Server ,

再帰SQLを実行すると最大再帰数に達してエラー

先日作成した日付を管理しているテーブルから共通テーブル式と再帰SQLを使って歯抜けの日付データを取得するですが、
日付を1年分にして再帰SQLを実行すると「ステートメントが終了しました。ステートメントの完了前に最大再帰数 100 に達しました。」
とエラーが発生しました。

どうやら無限ループ等が発生した場合のことを考慮して再帰SQLでは再起の出来る回数の
上限値を設定されているようです。

この上限値を変更するには「MAXRECURSION」を指定します。

最大再帰数「MAXRECURSION」を使う

設定方法は

で上限値を設定します。

設定できる値は「0」から「32,767」までで、「0」は上限なしに
なります。
規定値は「100」です。

最大再帰数「MAXRECURSION」の指定方法

実際の指定方法は

になります。

スポンサーリンク
スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • 13 follow us in feedly
  • 関連記事

    SQLServer上にあるテーブルの更新日時を取得する。

    テーブルの更新日時を取得 SQLServer上にあるストアドプロシージャーの更新日時を取得するで

    記事を読む

    SQLServer

    指定した値と同じ場合はNULLを返すNULLIF関数

    使いどころがいまいち不明な「NULLIF()」 SQLServerには使いどころがいまいち不明な関

    記事を読む

    ストアドプロシジャ内で例外エラーが発生した行番号を取得する。

    例外エラーが発生した行番号を取得する SQLServerのストアドプロシジャ内で例外エラーが発

    記事を読む

    ALTER TABLEでカラムの属性を変更する

    ALTER TABLEでカラムの属性を変更する すでに作成されているテーブルのカラムの属性を変更し

    記事を読む

    SQLServerで省略可能な引数を持ったストアドプロシージャを作る

    SQLServerで省略可能な引数を持ったストアドプロシージャーを作ります。 省略可能にするに

    記事を読む

    SQLServer

    SQLServerでクライアントのIPアドレスを取得する

    SQLServerでクライアントのIPアドレスを取得する SQLを発行したクライアントのIPアドレ

    記事を読む

    MERGEでINSERTとUPDATEを1行で実行する

    MERGE文を使うと行の存在有無を気にせずに1行のSQLでOK あるテ

    記事を読む

    ALTER TABLEのALTER COLUMNで「列 ‘xxxxx’ に依存しています」とエラーになる

    ALTER COLUMNで「列 'xxxxx' に依存しています」とエラー SQLServerでカ

    記事を読む

    指定した列名がどのテーブルで使用されているか検索するSQL

    指定した列名を利用しているテーブルを検索 SQLServerで指定した列名がどのテーブルで使用され

    記事を読む

    DEFAULT制約付きのカラムの属性を変更する

    DEFAULT制約付きのカラムの属性を変更する SQLServerでDEFAULT制約付きのカラム

    記事を読む

    SQL Server-登録されているストアドプロシジャーの一覧を取得する

    データベースに登録されているストアドプロシジャーの 一覧を取得します

    SQLServerのエラーコード一覧

    SQLServerで発生するエラーコードとその内容を表にしてみました。

    SQLServer
    SQLServerで引数の順序を考慮せずに呼び出せるストアドプロシジャを作る

    引数の順序を考慮せずに呼び出せるストアドプロシジャ ストアドプロシジ

    集計関数COUNT()でのNULLの扱い

    集計関数COUNT()でのNULLの扱いは注意が必要 集計関数の

    MERGEでINSERTとUPDATEを1行で実行する

    MERGE文を使うと行の存在有無を気にせずに1行のSQLでOK

    →もっと見る



    PAGE TOP ↑