首先 数据库信息
类似于SELECT 和 select 可以一样的使用
如果有一个表aa
mysql> SELECT a FROM aa;
+----------+
| a |
+----------+
| 10001 |
| 10002 |
| 10003 |
+----------+
使用大写AA和上面的语句是等价的
mysql> SELECT a FROM AA; #等于SELECT a FROM aa;
+----------+
| a |
+----------+
| 10001 |
| 10002 |
| 10003 |
+----------+
对于其他的,如 表中自己定义的属性等, 大小写都是等价的;
另一个例子
CREATE DEFINER=`root`@`localhost` PROCEDURE `CountPeopleOnRoute`(IN `NUMROUTE` int,OUT `PEOPLENUM` int)
BEGIN
#Routine body goes here...
DECLARE done INT DEFAULT FALSE;
DECLARE retickets,maxcap INT;
DECLARE eachNum_train INT;
DECLARE num_train CURSOR FOR SELECT trainNum FROM vehicle_assign_route WHERE routeNum= NUMROUTE; #定义游标---车次号
DECLARE CONTINUE HANDLER FOR not found
SET done = TRUE; #游标未找到就触发此条件
SELECT trainNum FROM vehicle_assign_route WHERE routeNum=NUMROUTE;
SET PEOPLENUM = 0;
OPEN num_train; #游标打开
label1: LOOP
FETCH num_train INTO eachNum_train;
IF done THEN
LEAVE label1;
END IF;
SELECT remainTickets,maxCapacity INTO retickets,maxcap FROM vehicle WHERE trainNum=eachNum_train;
SET PEOPLENUM = PEOPLENUM+retickets;
END LOOP;
CLOSE num_train; #游标关闭
END
MySQL是不区分大小写的
也就是说,在上面的第11行与函数参数,如果NUMROUTE换成ROUTENUM
那么SELECT trainNum FROM vehicle_assign_route WHERE routeNum=ROUTENUM;
中,WHERE条件表达式 将永远为真,无法筛选