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

BEGIN / ENDステートメントのエラーを回避するために、MySQLストアドプロシージャで区切り文字を正しく使用してください


このようなエラーは、DELIMITERの概念を使用しない場合に発生します。例を見て、ストアドプロシージャのクエリを実行してみましょう-

mysql> DELIMITER //
mysql> CREATE PROCEDURE correct_procedure()
   BEGIN
   SELECT 'Hello MySQL !!!';
   END
//
Query OK, 0 rows affected (0.12 sec)
mysql> DELIMITER ;

以下は、ストアドプロシージャを呼び出すための構文です-

call yourStoredProcedureName();

CALLコマンドを使用してストアドプロシージャを呼び出す-

mysql> call correct_procedure();

これにより、次の出力が生成されます-

+-----------------+
| Hello MySQL !!! |
+-----------------+
| Hello MySQL !!! |
+-----------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.02 sec)

  1. IN()を使用して、MySQLストアドプロシージャの特定のレコードのみを取得しますか?

    まずテーブルを作成しましょう- mysql> create table DemoTable2004 (    UserId varchar(20),    UserName varchar(20) ); Query OK, 0 rows affected (0.57 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable2004 values('John_123','John'); Query OK, 1 row affected

  2. MySQLストアドプロシージャで区切り文字を正しく使用して値を挿入するにはどうすればよいですか?

    まずテーブルを作成しましょう- mysql> create table DemoTable2028    -> (    -> StudentFirstName varchar(20),    -> StudentLastName varchar(20)    -> ); Query OK, 0 rows affected (0.87 sec) これは、ストアドプロシージャを作成し、値を挿入するためのクエリです(区切り文字を正しく使用して)- mysql> delimiter