ストアドプログラムの定義 に記載されています。 :
-
mysql を使用する場合 セミコロン文字を含むストアドプログラムを定義するクライアントプログラムでは、問題が発生します。デフォルトでは、 mysql それ自体がセミコロンをステートメント区切り文字として認識するため、 mysqlを発生させるには、区切り文字を一時的に再定義する必要があります。 ストアドプログラム定義全体をサーバーに渡します。
同じことがphpMyAdminにも当てはまります。
-
mysql を再定義するには 区切り文字、
区切り文字
を使用します コマンド。phpMyAdminのすべてのバージョンが
delimiter
を認識するわけではありません 指図;代わりに、Delimiter
を使用できます SQL入力ボックスの下の入力ボックス: phpMyAdmin(MySQL)でSPを作成するにはどうすればよいですか? を参照してください。 -
以下は、パラメータを取り、SQL関数を使用して操作を実行し、結果を返す関数の例です。この場合、
delimiter
を使用する必要はありません。 関数定義に内部;
が含まれていないため ステートメント区切り文字:mysql>
CREATE FUNCTION hello (s CHAR(20))
mysql>RETURNS CHAR(50) DETERMINISTIC
->RETURN CONCAT('Hello, ',s,'!');
Query OK, 0 rows affected (0.00 sec)あなたの場合、
BEGIN ...END<を削除できます。 / code>
複合ステートメントをブロックし、区切り文字を変更する必要をなくします。