Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

Stored Procedure ส่งคืนค่าคอลัมน์ใน MySQL

สร้างตารางตัวอย่าง

mysql> create table DemoTable (
    -> Id int,
    -> Score int
    -> );
Query OK, 0 rows affected (0.69 sec)

เพิ่มข้อมูลตัวอย่าง

mysql> insert into DemoTable values(1, 858858686);
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values(2, 9900554);
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable values(3, 646565667);
Query OK, 1 row affected (0.15 sec)

แสดงข้อมูลทั้งหมด

mysql> select * from DemoTable;

ผลลัพธ์

+------+-----------+
| Id   | Score     |
+------+-----------+
| 1    | 858858686 |
| 2    | 9900554   |
| 3    | 646565667 |
+------+-----------+
3 rows in set (0.00 sec)

Stored Procedure ส่งคืนค่า Score ตาม Id

mysql> DELIMITER //
mysql> CREATE PROCEDURE Test_StoredProcedure(IN id INT, OUT scoreValue INT)
    -> BEGIN
    -> SELECT Score INTO scoreValue FROM DemoTable tbl WHERE tbl.Id = id;
    -> END
    -> //
Query OK, 0 rows affected (0.18 sec)
mysql> DELIMITER ;

เรียก Stored Procedure และเก็บผลในตัวแปร @result

mysql> call Test_StoredProcedure(2, @result);
Query OK, 1 row affected (0.00 sec)

แสดงค่าตัวแปร

mysql> select @result;

ผลลัพธ์

+---------+
| @result |
+---------+
| 9900554 |
+---------+
1 row in set (0.00 sec)

คำอธิบาย: ใช้ OUT parameter ส่งค่ากลับ CALL procedure(พารามิเตอร์เข้า, @ตัวแปรรับค่า) แล้ว SELECT @ตัวแปรรับค่า