この記事は、mysql に関する関連知識を提供します。主に、MySQL ストアド プロシージャのパラメータの使用法と説明を紹介します。MySQL ストアド プロシージャのパラメータには、IN、OUT、INOUT の 3 種類があります。一緒に見てください。皆さんのお役に立てれば幸いです。
推奨学習: mysql ビデオ チュートリアル
MySQL には合計パラメータがありますストアド プロシージャ 3 つのタイプ:
型と型の長さ は、# の型と型の長さを必要として作成します。 ## テーブル フィールドの一貫性 #
-- 创建一个存储过程:添加一个员工信息 DELIMITER $$ CREATE PROCEDURE procedure_test4(IN `p_name` VARCHAR,IN `p_call` VARCHAR) BEGIN INSERT INTO employees(`name`,`call`) VALUES(`p_name`,`p_call`); END $$#正しい記述
-- 创建一个存储过程:添加一个员工信息 DELIMITER $$ CREATE PROCEDURE procedure_test4(IN `p_name` VARCHAR(64),IN `p_call` VARCHAR(64)) BEGIN INSERT INTO employees(`name`,`call`) VALUES(`p_name`,`p_call`); END $$## 次に、ストアド プロシージャを呼び出してデータを追加できるかどうかをテストしましょう最初にテーブルの元のデータを確認します
ストレージ プロセスを呼び出します
##
CALL procedure_test4('李四','321321')
##結果を見てみましょう
##出力パラメーター
出力パラメーター (OUT):
ストアド プロシージャで生成されたデータを呼び出し元に返します。これは、Java の戻り値と同等です。メソッドと異なりますが、ストアド プロシージャが複数の出力を持つことができる点が異なります。 パラメータ
例:-- 创建一个存储过程:根据id查询出该员工姓名 DELIMITER $$ CREATE PROCEDURE procedure_test5(IN `p_id` INT(64),OUT `p_name` VARCHAR(64)) BEGIN SELECT `name` INTO `p_name` FROM employees WHERE id=`p_id`; END $$
SET @e_name='' CALL procedure_test5('2',@e_name) SELECT @e_name FROM DUAL
入力パラメータと出力パラメータ (INOUT)
-- INOUT(输入输出参数) DELIMITER $$ CREATE PROCEDURE procedure_test6(INOUT str VARCHAR(64)) BEGIN -- 把你传进来的值作为条件,查询出的结果再重新赋值给 str 返回出去 -- 这里的 str 既当输入参数,也当输出参数 SELECT `name` INTO str FROM employees WHERE id=str; END $$
問題なく作成できます。テストしてみましょう
SET @e_name='2' CALL procedure_test6(@e_name) SELECT @e_name FROM DUAL
は問題ありませんが、コードの可読性が低下するため、実際の開発では INOUT の使用は控えめにすることをお勧めします。 # 推奨学習:
mysql ビデオ チュートリアル以上がMySQLストアドプロシージャのパラメータの使い方と説明をまとめます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。