MySQL テーブルから複数の値を返す MySQL ストアド プロシージャを作成するにはどうすればよいですか?

WBOY
リリース: 2023-08-23 12:21:03
転載
813 人が閲覧しました

MySQL テーブルから複数の値を返す MySQL ストアド プロシージャを作成するにはどうすればよいですか?

IN および OUT パラメータを使用してストアド プロシージャを作成し、MySQL テーブルから複数の値を取得できます。わかりやすくするために、次のデータを含む 'student_info' という名前のテーブルの例を考えてみましょう。 -

mysql> Select * from student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 101  | YashPal | Amritsar   | History    |
| 105  | Gaurav  | Jaipur     | Literature |
| 110  | Rahul   | Chandigarh | History    |
| 125  | Raman   | Bangalore  | Computers  |
+------+---------+------------+------------+
4 rows in set (0.01 sec)
ログイン後にコピー

ここで、'select_studentinfo' という名前の次のプロシージャを作成することで、次のことができます。 'student_info' テーブル -

mysql> DELIMITER // ;
mysql> Create Procedure Select_studentinfo ( IN p_id INT, OUT p_name varchar(20),OUT p_address varchar(20), OUT p_subject varchar(20))
    -> BEGIN
    -> SELECT name, address, subject INTO p_name, p_address, p_subject
    -> FROM student_info
    -> WHERE id = p_id;
    -> END //
Query OK, 0 rows affected (0.03 sec)
ログイン後にコピー

上記のクエリには、1 つの IN パラメータに加えて、4 つの OUT パラメータがあります。次に、以下に示すように、提供する条件値を指定してプロシージャを呼び出します。 -

mysql> DELIMITER ; //
mysql> CALL Select_studentinfo(110, @p_name, @p_address, @p_subject);
Query OK, 1 row affected (0.06 sec)

mysql> Select @p_name AS Name,@p_Address AS Address, @p_subject AS Subject;
+--------+------------+-----------+
| Name   | Address    | Subject   |
+--------+------------+-----------+
| Rahul  | Chandigarh | History   |
+--------+------------+-----------+
1 row in set (0.00 sec)
ログイン後にコピー

以上がMySQL テーブルから複数の値を返す MySQL ストアド プロシージャを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート