文档详情

数据库技术项目式教程(MySQL)课件 任务8.2使用变量和流程控制语句.pptx

发布:2025-05-02约1.5千字共13页下载文档
文本预览下载声明

使用变量和流程控制语句;任务提出;任务分析;1.局部变量;局部变量;【例1】创建函数adds,返回两个数的和,使用局部变量。

DELIMITER//

CREATEFUNCTIONadds(aINT,bINT)RETURNSINT

BEGIN

DECLAREcINTDEFAULT0;#定义c为局部变量

setc=a+b;

RETURNc;

END;

//

DELIMITER;

#使用函数

SELECTAdds(2,3);

;2.选择语句;【例2】创建函数is_even,判断某个数是否为偶数,如果是返回1,否则返回0。

DELIMITER//

createFUNCTIONis_even(numint)RETURNSINT

begin

IFnum%2=0THEN

RETURN1;

ELSE

RETURN0;

ENDIF;

end;

//

DELIMITER;?;选择语句;【例3】在School数据库创建函数convert_grade,返回输入百分制成绩对应的五级制字符。

CREATEFUNCTIONconvert_grade(gradeDECIMAL(4,1))RETURNSVARCHAR(50)

BEGIN

DECLAREresultVARCHAR(50);

CASE

WHENgrade=90THENSETresult=优秀;

WHENgrade=80THENSETresult=良好;

WHENgrade=70THENSETresult=中等;

WHENgrade=60THENSETresult=及格;

WHENgrade60THENSETresult=不及格;

ELSESETresult=NULL;

ENDCASE;

RETURNresult;

END;;3.循环语句;【例4】创建函数rand_string,根据输入的整数n,返回1个长度为n的随机字符串。

CREATEFUNCTIONrand_string(nINT)RETURNSVARCHAR(255)

BEGIN

DECLAREchar_strvarchar(100)DEFAULTabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789;

DECLAREreturn_strvarchar(255)DEFAULT;

DECLAREiINTDEFAULT0;

WHILEinDO

SETreturn_str=concat(return_str,substring(char_str,FLOOR(1+RAND()*62),1));

SETi=i+1;

ENDWHILE;

RETURNreturn_str;

END;;任务总结

显示全部
相似文档