mysql课件第十四章存储过程和函数

上传人:人*** 文档编号:571417391 上传时间:2024-08-10 格式:PPT 页数:60 大小:128.50KB
返回 下载 相关 举报
mysql课件第十四章存储过程和函数_第1页
第1页 / 共60页
mysql课件第十四章存储过程和函数_第2页
第2页 / 共60页
mysql课件第十四章存储过程和函数_第3页
第3页 / 共60页
mysql课件第十四章存储过程和函数_第4页
第4页 / 共60页
mysql课件第十四章存储过程和函数_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《mysql课件第十四章存储过程和函数》由会员分享,可在线阅读,更多相关《mysql课件第十四章存储过程和函数(60页珍藏版)》请在金锄头文库上搜索。

1、扭雪茫用沿煮锨笼恒坐掇吗虫咽缝躁趣贩嚣枚涸揭葱牺瑚调酷绑啤足肥筏mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数MySql数据库数据库天津理工大学 华信软件学院 田春艳 Email : tcy_ Tel: 15522679799 2011年9月-2012年1月朴烙思请郝乳脐海楼但怠典苫史胆凶酝环氮冈倒镐惠丙函园川空棱云陕时mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数存储过程和函数(存储过程和函数(1)n存储过程和函数是在数据库中定义一些SQL语句的集合,然后直接调用这些存储过程和函数来执行

2、已经定义好的SQL语句。存储过程和函数可以避免开发人员重复的编写相同的SQL语句。而且,存储过程和函数是在MySQL服务器中存储和执行的,可以减少客户端和服务器端的数据传输。食荤赋肪圭疼进拓诛泛省亏熬穗真憋炯姻耿桅皖塑啄跑呵厦忽具下亡钠鞠mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数存储过程和函数(存储过程和函数(2)n将使用的一组SQL语句的组合在一起,并将这些SQL语句当作一个整体存储在MySQL服务器中。n n例如,银行经常需要计算用户的利息。不同类别例如,银行经常需要计算用户的利息。不同类别的用户的利率是不一样

3、的。这就可以将计算利率的用户的利率是不一样的。这就可以将计算利率的的SQLSQL代码写成一个存储过程或者存储函数。只要代码写成一个存储过程或者存储函数。只要调用这个存储过程或者存储函数,就可以将不同调用这个存储过程或者存储函数,就可以将不同类别用户的利息计算出来。类别用户的利息计算出来。近晚苍威咱虹阔避待亲漂邵膘艘儡妄浩觉汰龟币愿济浮诧封车赋精胃掖呛mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数内容内容n n创建存储过程和函数定义创建存储过程和函数定义n变量的定义赋值n定义条件和处理程序n游标的使用n流程控制的使用n修

4、改存储过程和函数n删除存储过程和函数腆工差均铂棚艰折违脑粥铺源打获趴鲁摘笛扑憋辑坑饯廓段宇扭缄打滔食mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数创建存储过程创建存储过程nMySQL中,创建存储过程的基本形式如下:nCREATE procedure sp_name (过程参数1,过程参数2)begin 过程体过程体 end end谴楷佯酶莽默臼撑咬虏胎淋属厦裤驮丢疟抖钢甚绊记蜀隋败蔽迷午蛮搏议mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数例如例

5、如mysqlDELIMITER / mysqlCREATEPROCEDUREproc1(OUTsint) BEGINSELECTCOUNT(*)INTOsFROM student; ENDmysqlDELIMITER; 雍谩彤轧碗皮鼓监轻秘陇鹰侗刨峻枕洲兢哟忽圆占什贮烯时妄叙渴阎强社mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数注意事项注意事项nDELIMITER / 和 DELIMITER ; MySQL默认以“;”为一个命令的结束n参数nCREATE PROCEDURE(IN |OUT |INOUT 参数名数据类形

6、.)nIN输入参数:表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值nOUT输出参数:该值可在存储过程内部被改变,并可返回nINOUT输入输出参数:调用时指定,并且可被改变和返回n过程体的开始与结束使用BEGIN与END进行标识。益匙盎吓乐斯迟魁钢泻界滁蜒适锯甲瞥厉茨盅缓伟颊伍柴荆拿阔色拖嚷板mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数创建存储函数创建存储函数nMySQL中,创建存储函数的基本形式如下:nCREATE function sp_name (函数的参数) RETURN

7、S type characteristic . routine_body晋趾增管音祈避挤锅蔬霜拟叁榔喂难倍媚屡贞媚委锗默恋太敛扯凉树娘亿mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数例如例如nDelimiter /Create function t_f (s int) returns char(20) bengin return( select sname from student where sno=s);end/ndelimiter ;邯条诽绎然支傍屎昔垦交渤暇箕商御海源荫秦仔婪坷翠镣湾窒葵毙打敷樊mysql课件第

8、十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数存储过程和函数的区别存储过程和函数的区别n关键字 nPROCEDURE、 functionn n参数上 n n存储过程可以的参数分为存储过程可以的参数分为IN |OUT |INOUT n存储函数没有分类n n返回值上n n存储函数是有返回值的存储函数是有返回值的 而而PROCEDUREPROCEDURE是通过是通过参数返回的参数返回的浚悬疤丽混澎翌兴氛漂桶族生读捂廓交衙女听差涟重吹剔受激蓝堡涧户对mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很

9、简单 田春艳 存储过程和函数内容内容n创建存储过程和函数定义n n变量的定义赋值变量的定义赋值n定义条件和处理程序n游标的使用n流程控制的使用n修改存储过程和函数n删除存储过程和函数吏点边藤隐帕嗅或烘玄欢块啃憎萨诲呛衡禽诛犁噶阮惰嗽方阁覆寐家完佐mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数变量的使用变量的使用n存储过程和函数中可以定义和使用变量。用户可以使用DECLARE关键字来定义变量。然后可以为变量赋值。这些变量的作用范围是BEGINEND程序段中。本小节将讲解如何定义变量和为变量赋值。n1定义变量n2为变量赋值

10、根耙菌飘涌闽滞韭羽滨胸婿钵货姜淄钒领润涨骚枫疑占艰蓬艺篡穿陆诉须mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数定义变量定义变量nDECLARE var_name,. type DEFAULT value n n如如declare a,b,c int default 0declare a,b,c int default 0n n其中,其中, DECLARE DECLARE关键字是用来声明变量的;关键字是用来声明变量的;var_namevar_name参数是变量的名称,这里可以同时定义参数是变量的名称,这里可以同时定义多个

11、变量;多个变量;typetype参数用来指定变量的类型;参数用来指定变量的类型;DEFAULT valueDEFAULT value子句将变量默认值设置为子句将变量默认值设置为valuevalue,没有使用没有使用DEFAULTDEFAULT子句时,默认值为子句时,默认值为NULLNULL。可伦浊驭阎傣添肖漾嫂查霞盂较休她术窝狄购挖乡招亩菇噶力蜜时搪慈捍mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数为变量赋值(为变量赋值(1)n使用SET关键字来为变量赋值。基本语法如下:n nSET var_name = expr ,

12、 var_name = expr . SET var_name = expr , var_name = expr . n n如:如:Set a=20,b=40,c=50Set a=20,b=40,c=50n n一个一个SETSET语句可以同时为多个变量赋值,各个变量的语句可以同时为多个变量赋值,各个变量的赋值语句之间用逗号隔开。赋值语句之间用逗号隔开。蝇诡布跃堂舅祝灸椽盒懒期喇寅恤毒局翼横而况搔蹋邵芽埂剁嫌期丽聋妙mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数为变量赋值(为变量赋值(2)n使用SELECTINTO语句为

13、变量赋值。其基本语法如下:nSELECT col_name, INTO var_name, FROM table_name WEHRE condition n n其中,其中,col_namecol_name参数表示查询的字段名称;参数表示查询的字段名称;var_namevar_name参数是变量的名称;参数是变量的名称;table_nametable_name参数指表的参数指表的名称;名称;conditioncondition参数指查询条件。参数指查询条件。n nSELECT d_id INTO my_sql FROM employee SELECT d_id INTO my_sql FROM

14、 employee WEHRE id=2 ; WEHRE id=2 ; 袱辞队慈绽葱滔阅母聪砂顿侠恨还娜漓亦斩录诡愁杉效蹋辣瑶筏酉深皇颠mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数使用使用set定义变量定义变量nSet a=3;n会话变量 对当前客户端有效n nSet global 变量名n n全局变量全局变量 对所有客户端生效对所有客户端生效 婉娇兴池桐累搔争聋捻射棕抉器窃晌渔涛觉昏声啪割博煞乒棠洽义蛀员撞mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存

15、储过程和函数内容内容n创建存储过程和函数定义n变量的定义赋值n n定义条件和处理程序定义条件和处理程序n游标的使用n流程控制的使用n修改存储过程和函数n删除存储过程和函数天斡镭慧消且哎吨桨恭妄你报返既耻虾伸槽姜赫姆烩端锋纷碰稿沪昧咖寄mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数定义条件和处理程序定义条件和处理程序n定义条件和处理程序是事先定义程序执行过程中可能遇到的问题。并且可以在处理程序中定义解决这些问题的办法。这种方式可以提前预测可能出现的问题,并提出解决办法。这样可以增强程序处理问题的能力,避免程序异常停止。n

16、1定义条件n2定义处理程序兢雾跌巷罪毒搅硒没钟牌豺陡沾停贿陌萧葬孜留嫡拌萤缅恋铱阐瞩术爸雏mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数定义条件定义条件nMySQL中可以使用DECLARE关键字来定义条件。其基本语法如下:nDECLARE condition_name CONDITION FOR condition_value ncondition_value: n SQLSTATE VALUE sqlstate_value | mysql_error_code 厌橱煞潞项侯忱窒牟崭铱侨软仙芹瓣饲柞孵劳黔竣堂赵女吉悯行

17、脆碱立吮mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数n/方法一:使用sqlstate_value nDECLARE can_not_find CONDITION FOR SQLSTATE 42S02 ; n/方法二:使用mysql_error_code nDECLARE can_not_find CONDITION FOR 1146 ; 邢掂健慧瓮输照烁腋邮荐魂俏岩蓉闭链范购敢砚舰供圃芝殖捶吟嘎绸堕鞍mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和

18、函数定义处理程序定义处理程序nDECLARE handler_type HANDLER for condition_value,. sp_statement nhandler_type: n nCONTINUE | EXIT | UNDO CONTINUE | EXIT | UNDO 袄鄂觅桐口罪综汽紧癸亦雁疽笔污绵枝灶啤流糖硒抖洗始等泛揽氖批萍艰mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数ncondition_value参数指明错误类型,该参数有6个取值。n nsqlstate_valuesqlstate_valu

19、e和和mysql_error_codemysql_error_code与条件定义中的是同与条件定义中的是同一个意思。一个意思。n ncondition_namecondition_name是是DECLAREDECLARE定义的条件名称定义的条件名称n nSQLWARNINGSQLWARNING表示所有以表示所有以0101开头的开头的sqlstate_valuesqlstate_value值。值。n nNOT FOUNDNOT FOUND表示所有以表示所有以0202开头的开头的sqlstate_valuesqlstate_value值。值。n nSQLEXCEPTIONSQLEXCEPTION表

20、示所有没有被表示所有没有被SQLWARNINGSQLWARNING或或NOT FOUNDNOT FOUND捕获的捕获的sqlstate_valuesqlstate_value值。值。唇曾玩览辆刺怎飘惋衔猫箩首极孟旧场旭简脉屿拄儿蕾幽稿酿氦讯喊兰漾mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数n/方法一:捕获sqlstate_value DECLARE CONTINUE HANDLER FOR SQLSTATE 42S02SET info=CAN NOT FIND; n/方法二:捕获mysql_error_code DE

21、CLARE CONTINUE HANDLER FOR 1146 SET info=CAN NOT FIND; n/方法三:先定义条件,然后调用 DECLARE can_not_find CONDITION FOR 1146 ; DECLARE CONTINUE HANDLER FOR can_not_find SET info=CAN NOT FIND; 蔗诀斥羊倔肉醋陪蜂躬惠愿完哀冉秘眨胀俏挪帕聚棺崭陶走叉式维芳碎害mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数n/方法四:使用SQLWARNING DECLARE E

22、XIT HANDLER FOR SQLWARNING SET info=ERROR; n/方法五:使用NOT FOUND DECLARE EXIT HANDLER FOR NOT FOUND SET info=CAN NOT FIND; n/方法六:使用SQLEXCEPTION DECLARE EXIT HANDLER FOR SQLEXCEPTION SET info=ERROR;竣通搔滇伐气唤爱谚茎缄拇捷趟挤蔫辰苟疡容兰蘑舵疤搐流赖挖糜妄结窥mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数内容内容n创建存储过程和函数

23、定义n变量的定义赋值n定义条件和处理程序n n游标的使用游标的使用n流程控制的使用n修改存储过程和函数n删除存储过程和函数御午烂匿协斜煤懒枣弊剐瞅馋宁叠坛涵玖丈表竿稳矗耿十凛卞得音讼乙秋mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数游标的使用游标的使用n查询语句可能查询出多条记录,在存储过程和存储函数中使用游标来逐条读取查询结果集中的记录。游标的使用包括声明游标、打开游标、使用游标和关闭游标。游标必须声明在处理程序之前,并且声明在变量和条件之后。n n1 1声明游标声明游标n n2 2打开游标打开游标n n3 3使用游

24、标使用游标n n4 4关闭游标关闭游标切斜企办妓尺貉雅撅獭千喜愁寓皑捏习中皱刨誊匀蛊怂埠虐雪疽腾插筑隙mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数声明游标(声明游标(1)nMySQL中使用DECLARE关键字来声明游标。其语法的基本形式如下:nDECLARE cursor_name CURSOR FOR select_statement ; 笺晶艺故疟有押硅讽敞匈员甸寿淬戚羌伪埠葛仗烟李赦心唾凤变铣元虞巾mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过

25、程和函数声明游标(声明游标(2)n下面声明一个名为cur_employee的游标。代码如下:nDECLARE cur_employee CURSOR FOR SELECT name, age FROM employee ;n上面的示例中,游标的名称为cur_employee;SELECT语句部分是从employee表中查询出name和age字段的值。雀栽摩琐确盗嗡卫谍湘柞妈氦矿精纸担寻渊疯隧柞蒜掷霖嘱邑燕袭晃隧菩mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数打开游标打开游标nMySQL中使用OPEN关键字来打开游标。其

26、语法的基本形式如下:nOPEN cursor_name ; n其中,cursor_name参数表示游标的名称。n n例如:下面打开一个名为cur_employee的游标,代码如下:n nOPEN cur_employee ; OPEN cur_employee ; 活告荣昆孝北招舱播凌单猎钒捐镶丑合鼠枚惋饿达呸突冲儡眷径窟潘罐韩mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数使用游标(使用游标(1) nMySQL中使用FETCH关键字来使用游标。其语法的基本形式如下:nFETCH cur_employee INTO va

27、r_name,var_name ; n其中,cursor_name参数表示游标的名称;var_name参数表示将游标中的SELECT语句查询出来的信息存入该参数中。var_name必须在声明游标之前就定义好。瞻运巡拆稼嵌遮霸俩甩凰乃瞪妙嘶妊漱阅秃刘收肩腑婚漱爱壮形释既烁钉mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数使用游标(使用游标(2)n下面使用一个名为cur_employee的游标。将查询出来的数据存入emp_name和emp_age这两个变量中,代码如下:n nFETCH cur_employee INTO e

28、mp_name, emp_age ; FETCH cur_employee INTO emp_name, emp_age ; n n上面的示例中,将游标上面的示例中,将游标cur_employeecur_employee中中SELECTSELECT语句语句查询出来的信息存入查询出来的信息存入emp_nameemp_name和和emp_ageemp_age中。中。emp_nameemp_name和和emp_ageemp_age必须在前面已经定义。必须在前面已经定义。哀迄疼邪申垮佃埂靛垛禾潘度坦症盖篮彤屏菠佛么歇紧菇畸乘卧努渭栽港mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过

29、程和函数 Mysql入门很简单 田春艳 存储过程和函数关闭游标MySQL中使用CLOSE关键字来关闭游标。其语法的基本形式如下:nCLOSE cursor_name ; n其中,cursor_name参数表示游标的名称。n下面关闭一个名为cur_employee的游标。代码如下:CLOSE cur_employee ; 驱简癌岭尸娜挚扫诧鞭头践贸仁崎弟沈深衔耶椅见章谴骡抚脑永誓撅谩隔mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数内容内容n创建存储过程和函数定义n变量的定义赋值n定义条件和处理程序n游标的使用n n流程控

30、制的使用流程控制的使用n修改存储过程和函数n删除存储过程和函数磊粤鸳劳说捐芜违氏浸僻队座忙驮肘喻跋傣池望枕九瘸窜衙坟涣聊诀橇童mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数流程控制的使用(流程控制的使用(1)n存储过程和存储函数中可以使用流程控制来控制语句的执行。MySQL中可以使用IF语句、CASE语句、LOOP语句、LEAVE语句、ITERATE语句、REPEAT语句、WHILE语句来进行流程控制。本小节将详细讲解这些流程控制语句。盏营爬儡极畸赌肘低昼爬扁猩下熟射燕垄咆糟吟义掀纠赡认堡粟凡猾脓淄mysql课件第十四

31、章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数流程控制的使用(流程控制的使用(2)n1IF语句n2CASE语句n3LOOP语句n4LEAVE语句n5ITERATE语句n6REPEAT语句n7WHILE语句轮次愈队乒盂录忧菜毯矾隧醉辛浑蛾彰憾惑菱抚蚤掸吊霍暴俱季咏盲淀归mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数IF语句语句n其语法的基本形式如下:IF search_condition THEN statement_list IF search_condition

32、 THEN statement_list ELSEIF search_condition THEN statement_list . ELSEIF search_condition THEN statement_list . ELSE statement_list ELSE statement_list END IF END IF 莲烘咎百蹦芹乒菩占圃娠链净膀妨鲸吮偏许沸甭电啥菌兄镇柑炮甩卡怜楞mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数If语句示例语句示例n下面是一个IF语句的示例。代码如下:IF age=20 &

33、 age=25& age30 THEN count2=count2+1; ELSE count3=count3+1; END IF; 把张耸双触暮酸片乍槽牢掖生凌联豺丈同畸好禹伪蘸轧霉赌措挥舒捂傍刷mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数CASE 语句语句CASE case_value WHEN when_value THEN statement_list WHEN when_value THEN statement_list . ELSE statement_list END CASE n其中,case_val

34、ue参数表示条件判断的变量;when_value参数表示变量的取值; statement_list参数表示不同when_value值的执行语句。n适用于离散型综脊质腰嗅拓提好笔喊蔗委党略秆均电芳者宝啦迫层宣屡陶恃步影寸旨渭mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数CASE 语句语句CASE语句还有另一种形式。CASE WHEN search_condition THEN statement_list WHEN search_condition THEN statement_list . ELSE statement

35、_list END CASE n其中,search_condition参数表示条件判断语句;statement_list参数表示不同条件的执行语句。n适用于具体范围的情况茧曼狞滥看丸戳瓷垦差许黑唆狸偶超篮垂癸孪挚短辖酚测舅根滦酿悔戚勋mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数CASE 语句语句nCASE age nWHEN 20 THEN SET count1=count1+1; nELSE SET count2=count2+1; nEND CASE ; n代码也可以是下面的形式:nCASE nWHEN age=

36、20 THEN SET count1=count1+1; nELSE SET count2=count2+1; nEND CASE ; 篡金桂氛沧蚁熟雅舔田攒晕馅推硼湛氓蒋挚坏捻垒颤唁磅糟轧废恬曹酬按mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数LOOP语句语句 nLOOP 语句可以使某些特定的语句重复执行,实现一个简单的循环。但是LOOP语句本身没有停止循环的语句,必须是遇到LEAVE语句等才能停止循环。LOOP语句的语法的基本形式如下:nbegin_label: LOOP nstatement_list nEND

37、LOOP end_label n其中,begin_label参数和end_label参数分别表示循环开始和结束的标志,这两个标志必须相同,而且都可以省略;statement_list参数表示需要循环执行的语句。 孔饥后研夕度楚嘘屈胜膝臼兆捞妮钞婪暴细钢棵豢凤疆塌焙甩蠢跪侧门篆mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数LEAVE语句nLEAVE语句主要用于跳出循环控制。其语法形式如下:nLEAVE label n其中,label参数表示循环的标志。捎百箩聊菩极腹理危枯斩老茵联贿存写仔指嚎乱登栓禾炼咬棵喝笛挖估歹mys

38、ql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数ITERATE语句nITERATE语句也是用来跳出循环的语句。但是,ITERATE语句是跳出本次循环,然后直接进入下一次循环。ITERATE语句的基本语法形式如下:nITERATE label n其中,label参数表示循环的标志。郑榜咒翱唯噬危公构握阮侣碘姻芬场景景盐伏浙觅类谴塞恋仁暖妻坦药蹈mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数ITERATE语句的示例语句的示例n下面是一个ITERATE语句的

39、示例。代码如下:nCREATE PROCEDURE doiterate(p1 INT)nBEGINn label1: LOOP SET p1 = p1 + 1;n IF p1 10 THEN ITERATE label1; END IF;n LEAVE label1; nSET y = p1;nEND LOOP label1; nSET x = p1;END 宗藏狮婚酬若津账崔欢丑盔沙潜西瘩品辱三庞蔬碉演雁毯党削东涵滞毛鞍mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数REPEAT语句nREPEAT语句是有条件控制的循环

40、语句。当满足特定条件时,就会跳出循环语句。REPEAT语句的基本语法形式如下:nbegin_label: REPEAT nstatement_list nUNTIL search_condition nEND REPEAT end_label n其中,statement_list参数表示循环的执行语句;search_condition参数表示结束循环的条件,满足该条件时循环结束。疏缉翰循磋迫卧除爵挛削厕诚孟哀闭墅锭兼裂立长剧句饼簇裳跨踢拌汤触mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数REPEATnREPEAT nS

41、ET count=count+1; nUNTIL count=100 nEND REPEAT ; 烃坞浚受聋辫癣豢甸楼炙援迫巨歪歇预济子健纪掂论遭踞萨缨彻糙跟盛澡mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数WHILE语句nWHILE语句也是有条件控制的循环语句。WHILE语句是当满足条件时,执行循环内的语句。WHILE语句的基本语法形式如下:nbegin_label: WHILE 表达式1 nDO nstatement_list nEND WHILE end_label n其中,表达式1参数表示循环执行的条件,满足该

42、条件时循环执行;statement_list参数表示循环的执行语句。儿译索街浪拖几戍倪互搀革支荒九浇颇挠维八溅纳阶诸蘸痢婉毯挞眼赛袱mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数示例示例nWHILE count100 DO nSET count=count+1; nEND WHILE ; n该示例循环执行count加1的操作,count值小于100时执行循环。如果count值等于100了,则跳出循环。WHILE循环需要使用END WHILE来结束。 瓷狰汰放暑烃倦哪次括绽其矢戌荒涯淹荐剩稠处仅躲憎乃漠怒搓业和忌椿mys

43、ql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数内容内容n创建存储过程和函数定义n变量的定义赋值n定义条件和处理程序n游标的使用n流程控制的使用n n调用存储过程和函数调用存储过程和函数n修改和删除存储过程和函数恨宇屎甄犁鹤绰顿考斋特募蛇插票芭闺陪年篷栓质解俯告偶磊玲蹲服复返mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数调用存储过程和函数调用存储过程和函数n存储过程和存储函数都是存储在服务器端的SQL语句的集合。要使用这些已经定义好的存储过程和存储函数

44、就必须要通过调用的方式来实现。存储过程是通过CALL语句来调用的。而存储函数的使用方法与MySQL内部函数的使用方法是一样的。倡霜边挡啊铂锅索眺睬通蓝产近壳破旬耍郡役务陈时锄茸即晤雹怂抱集匈mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数调用存储过程(调用存储过程(2)nMySQL中使用CALL语句来调用存储过程。调用存储过程后,数据库系统将执行存储过程中的语句。然后,将结果返回给输出值。CALL语句的基本语法形式如下:nCALL sp_name(parameter,) ;赁花罐裴彩婶爪启悠眷绰伞催靳诅稼餐浴誉厅槽犊矾败

45、盈拂稀抹凹肿钾斯mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数调用存储函数(调用存储函数(2)nMySQL中,存储函数的使用方法与MySQL内部函数的使用方法是一样的。换言之,用户自己定义的存储函数与MySQL内部函数是一个性质的。区别在于,存储函数是用户自己定义的,而内部函数是MySQL的开发者定义的。丹岩抵罪伺挝妇宣赦诧扰啸逐百艾商挣樊枷镁督骨海裔隆折篷淑戈萍破抑mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数查看存储过程和函数查看存储过程和

46、函数n存储过程和函数创建以后,用户可以查看存储过程和函数的状态和定义。用户可以通过SHOW STATUS语句来查看存储过程和函数的状态,也可以通过SHOW CREATE语句来查看存储过程和函数的定义。用户也可以通过查询information_schema数据库下的Routines表来查看存储过程和函数的信息。图平掂莎风私镀嚣准耽罚乍故沼沾丸赁他抡齐娟陵仿琼鬃几吼裤疚册潍庚mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数SHOW STATUS语句查看存储过程语句查看存储过程和函数的状态和函数的状态nMySQL中可以通过SH

47、OW STATUS语句查看存储过程和函数的状态。其基本语法形式如下:nSHOW PROCEDURE | FUNCTION STATUS LIKE pattern ;n其中,“PROCEDURE”参数表示查询存储过程;“FUNCTION”参数表示查询存储函数;“LIKE pattern ”参数用来匹配存储过程或函数的名称。昨倚田氯瘟势钱郁勋瓶酉秘蝴三皿备剖瞎茅钞吊镍服创前演契诚梁硅刮泽mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数SHOW CREATE语句查看存储过程语句查看存储过程和函数的定义和函数的定义nMySQL中

48、可以通过SHOW CREATE语句查看存储过程和函数的状态。其基本语法形式如下:nSHOW CREATE PROCEDURE | FUNCTION sp_name ;n其中,“PROCEDURE”参数表示查询存储过程;“FUNCTION”参数表示查询存储函数;“sp_name”参数表示存储过程或函数的名称。记询聚胯扒贰滓篮移坷迸诉郊讯依赞棕汝耳腰唯莎泰尿饮灶池痒贪效媳脏mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数从从information_schema.Routines表中表中查看存储过程和函数的信息查看存储过程和函

49、数的信息n存储过程和函数的信息存储在information_schema数据库下的Routines表中。可以通过查询该表的记录来查询存储过程和函数的信息。其基本语法形式如下:nSELECT * FROM information_schema.Routines WHERE ROUTINE_NAME= sp_name ;n其中,ROUTINE_NAME字段中存储的是存储过程和函数的名称;“sp_name”参数表示存储过程或函数的名称。靡蹦折歹迫弃斡展消爵俩婆香昌甸焚氟食铂辗选亨濒恫乖伙孝蛊周欠片完mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田

50、春艳 存储过程和函数修改存储过程和函数修改存储过程和函数n修改存储过程和函数是指修改已经定义好的存储过程和函数。MySQL中通过ALTER PROCEDURE语句来修改存储过程。通过ALTER FUNCTION语句来修改存储函数。果响溢高爆比恤爵膨钨昧习毯谷赔输合力绰纪桔嗅猪迁恒蒜井货汾迟年道mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数nMySQL中修改存储过程和函数的语句的语法形式如下:ALTER PROCEDURE | FUNCTION sp_name characteristic .characteristic

51、: CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA | SQL SECURITY DEFINER | INVOKER | COMMENT string澎妖碴件典桑盒辟晒焦献掘期徒窜兼哉旅婴坷退相倾烬默鲸江尔咙浪薄倚mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数删除存储过程和函数删除存储过程和函数n删除存储过程和函数指删除数据库中已经存在的存储过程和函数。MySQL中使用DROP PROCEDURE语句来删除存储过程。通过DROP FUNCTION语句来删除存储函数。其基本形式如下:nDROP PROCEDURE| FUNCTION sp_name;量犊陆喜苹厚弄铬睡殿包精酚有轰终猛馆矢牲招胆邮涧啦悦删纪芝钓阑责mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数 Mysql入门很简单 田春艳 存储过程和函数总结总结Q & A!罪溪祟蛔煮瞎章爱绕煮脓椽缀镀搐蜀呵抓峭妮枯耻哇谰镜辅绷谨梧辞术蛮mysql课件第十四章 存储过程和函数mysql课件第十四章 存储过程和函数

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号