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

MySQL Stored Procedure อัปเดตข้อมูลตามเงื่อนไข

สร้าง Stored Procedure สำหรับ UPDATE ตามเงื่อนไข

สร้างตารางและเพิ่มข้อมูล

mysql> create table DemoTable ( Id int, FirstName varchar(20), LastName varchar(20) ); 
Query OK, 0 rows affected (0.56 sec)
mysql> insert into DemoTable values(101,'David','Brown'); 
Query OK, 1 row affected (0.15 sec) 
mysql> insert into DemoTable values(102,'Chris','Brown'); 
Query OK, 1 row affected (0.08 sec) 
mysql> insert into DemoTable values(103,'John','Doe'); 
Query OK, 1 row affected (0.07 sec)

สร้าง Stored Procedure รับพารามิเตอร์

mysql> delimiter // 
mysql> create procedure update_sp(fName varchar(20), lName varchar(20)) 
    -> begin 
    -> update DemoTable 
    -> set FirstName=fName, 
    -> LastName=lName 
    -> where Id=101; 
    -> end 
    -> // 
Query OK, 0 rows affected (0.12 sec) 
mysql> delimiter ;

เรียกใช้ Procedure

mysql> call update_sp('Adam','Smith'); 
Query OK, 1 row affected, 2 warnings (0.08 sec)

ผลลัพธ์หลังอัปเดต

mysql> select * from DemoTable;
+------+-----------+----------+ 
| Id   | FirstName | LastName | 
+------+-----------+----------+ 
|  101 | Adam      | Smith    | 
|  102 | Chris     | Brown    | 
|  103 | John      | Doe      | 
+------+-----------+----------+ 
3 rows in set (0.00 sec)

Procedure รับพารามิเตอร์ 2 ตัว (fName, lName) นำไป UPDATE โดยตรง | WHERE Id=101 คงที่ | สามารถปรับให้รับ Id เป็นพารามิเตอร์ได้เช่นกัน