私はテーブルにすべてのフィールドを更新するストアドプロシージャを作成したいと思います。MySQLのストアドプロシージャ内にオプションのパラメータを書き込む?
オプションのパラメータを受け入れるストアドプロシージャを作成するにはどうすればよいですか?
私はテーブルにすべてのフィールドを更新するストアドプロシージャを作成したいと思います。MySQLのストアドプロシージャ内にオプションのパラメータを書き込む?
オプションのパラメータを受け入れるストアドプロシージャを作成するにはどうすればよいですか?
Optional Parameters
はMySQLではまだサポートされていません。あなたのパラメータにnull
の値を渡し、ストアドプロシージャ内にIF
というステートメントがあることをお勧めします。
DELIMITER $$
CREATE PROCEDURE procName
(IN param VARCHAR(25))
BEGIN
IF param IS NULL THEN
-- statements ;
ELSE commands
-- statements ;
END IF;
END$$
DELIMITER ;
特殊なケースは、パラメータがNULLである、つまりキーであるためです。私はこれらの場合、トリックを使用します。パラメータを-1に設定します:
CREATE PROCEDURE procCreate
(IN id_cosa INT(11))
BEGIN
IF id_cosa != -1 THEN
~~(your code here)~~
END IF
END
Mysqlは現在仮想的にOracleによって所有されています。私たちは将来もそれを実装することを期待しません。 –