mysql查看所有存储过程
mysql存储过程逻辑表达and_MySQL-存储过程(⼆)-逻辑判
断语句
MySQL - 存储过程 (⼆)- 逻辑判断语句
⼀, if 语句:
IF(expr1,expr2,expr3)
如果 expr1 是 TRUE (expr1 <> 0 and expr1 <> NULL), 则 IF()的返回值为 expr2; 否则返回值则为 expr3.IF() 的返回值为数字值或字符串值, 具体情况视其所在语境⽽定.select*,if(sva=1,"男","⼥")asssvafromtanamewheresva!=""
IFNULL(expr1,expr2)
假如 expr1 不为 NULL, 则 IFNULL() 的返回值为 expr1; 否则其返回值为 expr2.IFNULL()的返回值是数字或是字符串, 具体情况取决于其所使⽤的语境.MySQL>SELECT IFNULL(1,0);
->1
css中span标签
MySQL>SELECT IFNULL(NULL,10);
->10
MySQL>SELECT IFNULL(1/0,10);
->10
charter
MySQL>SELECT IFNULL(1/0,'yes');
->'yes'
IFNULL(expr1,expr2) 的默认结果值为两个表达式中更加 "通⽤" 的⼀个, 顺序为 STRING, REAL 或 INTEGER.
if 实现条件判断, 满⾜不同条件执⾏不同的操作, 这个我们只要学编程的都知道 if 的作⽤了, 下⾯我们来看看 MySQL 存储过程中的 if 是如何使⽤的吧.IF search_condition THEN
statement_list
[ELSEIF search_condition THEN]
[ELSE
statement_list]
ENDIF
与 PHP 中的 IF 语句类似, 当 IF 中条件 search_condition 成⽴时, 执⾏ THEN 后的 statement_list 语句, 否则判断 ELSEIF 中的条件, 成⽴则执⾏其后的 statement_list 语句, 否则继续判断其他分⽀. 当所有分⽀的条件均不成⽴时, 执⾏ ELSE 分⽀. search_condition 是⼀个条件表达式, 可以由 "=,,>=,!=" 等条件运算符组成, 并且可以使⽤ AND,OR,NOT 对多个表达式进⾏组合.
例如, 建⽴⼀个存储过程, 该存储过程通过学⽣学号 (student_no) 和课程编号 (course_no) 查询其成绩(grade), 返回成绩和成绩的等级, 成绩⼤于 90 分的为 A 级, ⼩于 90 分⼤于等于 80 分的为 B 级, ⼩于 80 分⼤于等于 70 分的为 C 级, 依次到 E 级. 那么, 创建存储过程的代码如下:create procedure dbname.proc_getGrade
(stu_no varchar(20),cour_no varchar(10))
BEGIN
declare stu_gradefloat;
selectgradeintostu_gradefromgradewherestudent_no=stu_noandcourse_no=cour_no;
ifstu_grade>=90then
selectstu_grade,'A';
elseif stu_grade<90andstu_grade>=80thenhtml空格代码的特殊字符
selectstu_grade,'B';
elseif stu_grade<80andstu_grade>=70then
selectstu_grade,'C';
elseif stu_grade70andstu_grade>=60then
selectstu_grade,'D';
else
selectstu_grade,'E';
endif;
END
注意: IF 作为⼀条语句, 在 END IF 后需要加上分号 ";" 以表⽰语句结束, 其他语句如 CASE,LOOP 等也是相同的.⼆, case 语句:
查询语句:
select CASE sva WHEN 1 THEN '男' ELSE '⼥' END as ssva from taname where sva != ''
修改语句:
编写⼀条 update 语句实现商品涨价, 具体规则如下
inputbox弹出n个1,99 元以内, 提价 20%
2,100-999 元之间, 提价 10%
3,1000-1999 之间, 提价 5%
亚熙教程网4, 其他提价 2%update goods
setprice=(
case
whenprice between0and99thenprice*1.2
whenprice between100and999thenprice*1.1
whenprice between1000and1999thenprice*1.05
whenprice>1999thenprice*1.02
end);
select*fromgoods;
MySQL - 存储过程(⼆)- 逻辑判断语句

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。