MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

再帰的なストアドプロシージャとは何ですか?MySQLが再帰を制限する理由は何ですか?


ストアドプロシージャは、それ自体を呼び出す場合、再帰的と呼ばれます。基本的に、この概念は再帰と呼ばれます。 MySQLは再帰を制限するため、エラーはそれほど厳密ではなくなります。次のクエリを使用して、この制限を確認できます-

mysql> Show variables LIKE '%recur%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| max_sp_recursion_depth |   0   |
+------------------------+-------+
1 row in set (0.01 sec)

次のクエリを使用して、この値を最大255まで変更できます-

mysql> SET @@GLOBAL.max_sp_recursion_depth = 255//
Query OK, 0 rows affected (0.00 sec)

mysql> Show variables LIKE '%recur%'//
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| max_sp_recursion_depth | 255   |
+------------------------+-------+
1 row in set (0.01 sec)

プロシージャを記述している間も制限を拡張できます。


  1. MySQLのBLOBデータ型とTEXTデータ型の違いは何ですか?

    BLOBはBinaryLargeObjectsの略で、その名前が示すように、バイナリデータの格納に使用でき、TEXTは多数の文字列の格納に使用されます。 BLOBを使用してバイナリデータを保存できます。つまり、写真、ビデオ、サウンド、プログラムも保存できます。 たとえば、画像にはバイナリデータがあるため、次の画像をBLOBに保存できます。 BLOB値はバイト文字列のように動作し、BLOBには文字セットがありません。したがって、比較と並べ替えはバイトの数値に完全に依存します。 TEXT値は、非バイナリ文字列または文字列のように動作します。 TEXTには文字セットがあり、比較/並べ替え

  2. MySQL 8.0で導入されたオプションと変数は何ですか?

    MySQL8.0で新しく導入されたオプションと変数の一部を以下に示します。 Com_clone: これは、CLONEステートメントの数を指します。 MySQL8.0.2で追加されました。 Com_create_role: これは、使用されるCREATEROLEステートメントの数を指します。 MySQL8.0.0で追加されました。 Com_drop_role:私 tは、使用されたDROPROLEステートメントの数を示します。 MySQL8.0.0で追加されました。 Com_restart: これは、使用されたRESTARTステートメントの数を示します。 MySQL8.0.4で追