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

MySQLストアドプロシージャでDELIMITERを正しく使用するにはどうすればよいですか?


正しい方法は次のとおりです-

DELIMITER //
CREATE PROCEDURE yourStoredProcedureName()
BEGIN
 IF  yourCondition then
     yourStatement1 ;
else
    yourStatement2 ;

END IF ;
END
//

DELIMITER ;

ここで例を見て、ストアドプロシージャを作成しましょう-

mysql> DELIMITER //
mysql> CREATE PROCEDURE delimiter_demo()
   -> BEGIN
   -> IF 1 THEN
   -> SELECT "If condition will always true";
   -> else
   -> select "No" ;
   -> END IF ;
   -> END
   -> //
Query OK, 0 rows affected (0.17 sec)

mysql> DELIMITER ;

これで、CALLコマンドを使用してストアドプロシージャを呼び出すことができます

mysql> call delimiter_demo();

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

+-------------------------------+
| If condition will always true |
+-------------------------------+
| If condition will always true |
+-------------------------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.02 sec)

  1. MySQLストアドプロシージャに条件を正しく実装するにはどうすればよいですか?

    ストアドプロシージャで条件を設定するには、次の構文を使用します-     if yourCondition then    yourStatement1;      else    yourStatement2';       end if ;     end     // ストアドプロシージャで欠落しているセミコロンを修正するために、上記の構文を実装しましょう- mysql> delimiter // mysql>

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

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