MySQL存储过程中的条件WHERE子句为NULL值设置自定义值
若要为NULL值设置自定义值,请在存储过程中将UPDATE命令与ISNULL属性一起使用。让我们首先创建一个表-
mysql> create table DemoTable ( Id int, FirstName varchar(50) );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable values(100,'Chris'); mysql> insert into DemoTable values(101,NULL); mysql> insert into DemoTable values(102,'Mike'); mysql> insert into DemoTable values(103,NULL);
使用select语句显示表中的所有记录-
mysql> select *from DemoTable;
这将产生以下输出-
+------+-----------+ | Id | FirstName | +------+-----------+ | 100 | Chris | | 101 | NULL | | 102 | Mike | | 103 | NULL | +------+-----------+ 4 rows in set (0.00 sec)
以下是创建存储过程的查询-
mysql> DELIMITER // mysql> create procedure where_clauseProc() BEGIN update DemoTable set FirstName='Robert' where FirstName IS NULL; END // mysql> DELIMITER ;
使用CALL命令调用存储过程-
mysql> call where_clauseProc();
使用select语句显示表中的所有记录-
mysql> select *from DemoTable;
这将产生以下输出-
+------+-----------+ | Id | FirstName | +------+-----------+ | 100 | Chris | | 101 | Robert | | 102 | Mike | | 103 | Robert | +------+-----------+ 4 rows in set (0.00 sec)