Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Mệnh đề WHERE có điều kiện trong stored procedure MySQL để gán giá trị cho NULL

Dùng UPDATE ... WHERE ... IS NULL bên trong stored procedure. Tạo bảng:

mysql> CREATE TABLE DemoTable (
    Id INT,
    FirstName VARCHAR(50)
); Query OK, 0 rows affected (0.67 sec)

Chèn dữ liệu (có NULL):

mysql> INSERT INTO DemoTable VALUES(100,'Chris'); Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO DemoTable VALUES(101,NULL);   Query OK, 1 row affected (0.20 sec)
mysql> INSERT INTO DemoTable VALUES(102,'Mike');  Query OK, 1 row affected (0.38 sec)
mysql> INSERT INTO DemoTable VALUES(103,NULL);   Query OK, 1 row affected (0.74 sec)

Hiển thị dữ liệu:

mysql> SELECT * FROM DemoTable;

Kết quả:

+------+-----------+
| Id   | FirstName |
+------+-----------+
| 100  | Chris     |
| 101  | NULL      |
| 102  | Mike      |
| 103  | NULL      |
+------+-----------+
4 rows in set (0.00 sec)

Tạo stored procedure cập nhật NULL thành 'Robert':

mysql> DELIMITER //
CREATE PROCEDURE where_clauseProc()
BEGIN
    UPDATE DemoTable SET FirstName='Robert' WHERE FirstName IS NULL;
END //
DELIMITER ;

Gọi procedure:

mysql> CALL where_clauseProc(); Query OK, 2 rows affected (0.10 sec)

Kiểm tra lại:

mysql> SELECT * FROM DemoTable;

Kết quả:

+------+-----------+
| Id   | FirstName |
+------+-----------+
| 100  | Chris     |
| 101  | Robert    |
| 102  | Mike      |
| 103  | Robert    |
+------+-----------+
4 rows in set (0.00 sec)