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)