文档详情

MySQL存储程序技术.ppt

发布:2024-03-29约1.64千字共34页下载文档
文本预览下载声明

MySQL存储程序技术;--什么是存储过程?

--为什么要使用存储过程?

--MySQL存储过程的创立

--MySQL存储过程的调用

--MySQL存储过程的查询

--MySQL存储过程的修改

--MySQL存储过程的删除

--MySQL存储过程的控制语句

--MySQL游标的使用

--MySQL存储程序之ErrorHandling

--MySQL存储函数

--MySQL触发器

;什么是存储过程?;为什么要使用存储过程?;格式:

MySQL存储过程创立的格式:CREATEPROCEDURE过程名([过程参数[,…]])[特性]。;参数:

MySQL存储过程的参数用在存储过程定义,共有三种参数类型IN,OUT,INOUT,形式如下:;IN参数例子:;OUT参数例子:;INOUT参数例子:;变量:

;注释:

;调用:

CALLsp_name([parameter[,…]]);查询:

SELECTnameFROMmysql.procWHEREdb=‘数据库名’;修改:

ALTERPROCEDUREsp_name[characteristic…];删除:

DROPPROCEDURE[IFEXISTS]sp_name;(1)变量作用域:

存储过程内部的变量在其作用域范围内享有更高的优先权,当执行到END时,内部变量消失,此时已经在作用域外,变量不再可见,但可以通过OUT参数或将其值指派给会话变量来保存其值。;(2)条件语句:

I.IF-THEN-ELSE语句:;(2)条件语句:

II.CASE语句;(3)循环语句:

I.WHILE…ENDWHILE;(3)循环语句:

II.REPEAT…UNTIL…ENDREPEAT

它在执行后检查结果,而WHILE那么是执行前进行检查。;(3)循环语句:

III.LOOP…ENDLOOP

LOOP循环不需要初始条件,和WHILE相似,同时和REPEAT一样不需要结束条件,LEAVE语句的意义是离开循环。;(3)循环语句:

IV.LABLES标号

标号可以用在BEGIN,REPEAT,WHILE或LOOP语句前,语句标号只能在合法的语句前面使用。可以跳出循环,使运行指令到达复合语句的最后一步。通过和LEAVE一起用。;(4)ITERATE迭代:

I.ITERATE

通过引用复合语句的标号来从新开始复合语句。;游标:

;游标举例:

;Hanlers:

DECLARE{CONTINUE|EXIT}HANDLERFOR

{SQLSTATEsqlstate_code|MySQLerrorcode|condition_name}

handler_actions

;常见的MySQLerrorcode和SQLSTATEcode:

;存储函数:

CREATEFUNCTIONsp_name([func_parameter[,...]])???RETURNStype

存储储函数和存储过程很想像,它们都是包含一个或多个SQL语句的被命名程序单元。和存储过程不同的地方有以下几点:;存储函数查看和删除:

;存储函数实例:;触发器:

CREATETRIGGERtrigger_nametrigger_timetrigger_event???ONtbl_nameFOREACHROWtrigger_stmt

触发器是一种在数据库表被INSERT,UPDATE或者DELETE等〔DML语句〕所作用时所激活的特殊的存储程序。只要表发生改变就会激活触发器的功能,直接依附于表,所以程序无法绕过触发器。;触发器查看和删除:

;触发器实例:

显示全部
相似文档