説明
この変数はV2.1バージョンから導入されました。
機能の概要
max_sp_recursion_depthは、指定されたストアドプロシージャを再帰的に呼び出すことができる最大レベルを設定します。
権限要件
変数の確認
グローバルレベル
sysテナントとすべてのユーザーテナントはSHOW VARIABLESステートメント、またはSYS.TENANT_VIRTUAL_GLOBAL_VARIABLEビュー(Oracleモード)およびinformation_schema.GLOBAL_VARIABLESビュー(MySQLモード)を使用してグローバルシステム変数の値を確認できます。セッションレベル
sysテナントとすべてのユーザーテナントはSHOW VARIABLESステートメント、またはSYS.TENANT_VIRTUAL_SESSION_VARIABLEビュー(Oracleモード)およびinformation_schema.SESSION_VARIABLESビュー(MySQLモード)を使用してセッションシステム変数の値を確認できます。
変数の変更
グローバル有効
sysテナントはグローバルシステム変数の値を直接変更できます。MySQLユーザーテナントは
SUPERまたはALTER SYSTEM権限を持っている必要がありますグローバルシステム変数の値を変更するには。Oracleユーザーテナントは
ALTER SYSTEM権限を持っている必要がありますグローバルシステム変数の値を変更するには。
セッション有効
sysテナントとすべてのユーザーテナントは、自身のテナントのセッションシステム変数の値を直接変更できます。
プロパティの説明
| プロパティ | 説明 |
|---|---|
| パラメータタイプ | Int |
| デフォルト値 | 0。現在のストアドプロシージャを再帰的に呼び出すことはできないことを示します。 |
| 値の範囲 | [0, 255] |
| 適用範囲 |
|
| 変更は可能か | はい。SET ステートメントを使用して変更できます。 |
設定例
現在のストアドプロシージャの再帰呼び出しを禁止します。
セッション有効
obclient> SET max_sp_recursion_depth =0;グローバル有効
obclient> SET GLOBAL max_sp_recursion_depth =0;