sql >> データベース >  >> Database Tools >> phpMyAdmin

MYSQLでのストアドプロシージャの記述の難しさ

    ストアドプログラムの定義 に記載されています。 :

    • 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> 複合ステートメントをブロックし、区切り文字を変更する必要をなくします。




    1. PHPMyAdminを使用してAmazonRDSを管理する

    2. エラー:1449、定義者('root' @'localhost')として指定されたユーザーが存在しません

    3. phpMyAdmin設定ストレージエラー

    4. phpMyAdmin-BLOBフィールドをテキストとして表示しますか?