MySQL的存储过程实例分析


今天小编给大家分享一下MySQL的存储过程实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。MySQL5.0版本开始支持存储过程,存储过程就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法,存储过就是数据库SQL与层层面的代码封装与重用1.有输入输出参数,可以声明变量,有if/else/case/while等控制语句,通过编写存储过程,可以实现复杂的逻辑功能2.函数的普通特性:模块化,封装,代码复用3.速度快,只有首次执行需要经过编译和优化步骤,后续被调用可以直接执行,省去以上步骤用户自定义,在begin/end块中有效用户自定义,当前会话(连接)有效.类比java的成员变量1.系统变量有分为全局变量会话变量2.全局变量在MYSQL启动的时候由服务器自动将他的初始化为默认值,这些默认值可以通过更改my.ini这个文件来更改3.会话变量在每次建立一个新的连接的时候,由MYSQL来初始化,MYSQL会将当前所有全局变量的值复制一份,来作为会话变量4.也就是说,如果在建立会话以后,没有手动更改过会话变量与全局变量的值,那所有这些变量的值都是一样的5.全局变量与会话变量的区别在于,对全局变量的修改会影响整个服务器,但是对会话变量的修改,只会影响到当前的会话(也就是当前的数据库连接)6.有些系统变量的值是可以利用语句来动态进行更改的,但是有些系统变量的值缺是只读的,对于那些可以更改的系统变量,我们可以利用set语句进行更改系统变量-全局变量由系统系统,在整个数据库中有效in表开发云主机域名示传入的参数,可以传入数值或者变量,即使传入变量,并不会改变变量的值,可以内部更改,仅仅作用在函数范围内多个参数传参out表示从存储过程内部传值给调用者inout表示从外部传入的参数经过修改后可以返回的变量,既可以使用传入变量的值也可以修改变量的值(即使函数执行完)IF语句包含多个条件判断,根据结果为TURE和FALSE执行语句,与编程语言中的if、else if、else语法类似,其语法格式如下CASE是另一个条件判断语句,类似于编程语言中的switch语法语法一:当case后面的语句与when后面的语句相等时,则会执行then后面的语句,如果均不匹配则执行else语法二:直接写case 当when后面的条件成立则执行then后面的语句,如果都不成立,则执行else概述循环是一段在程序中只出现一次,但可能会连续运行多次的代码循环中的代码会运行特定的次数,或者是运行到特定条件成立时结束循环循环分类while、repeat、loop循环控制leave 类似于break,跳出,结束当前所在的循环iteater 类似于continue,继续,结束本次循环,继续下一次格式游标(cursor)是庸才存储查询结果集的数据类型,在存储过程和函数中可以使用光标对结果集进行循环的处理,光标的使用包括光标的声明、OPEN、FETCH、CLOSEMySQL存储过程也提供了对异常处理的功能:通过定义HANDLER来完成异常声明的实现格式在语法中,变量声明、游标声明、handler声明必须按照先后顺序书写的,否则创建存储过程出错DECALARE handler_action 创建句柄FOR 后面为条件值,为什么异常提供处理statment 当没有数据发现这个异常发生时采取什么措施handler_action :{CONTINUE 继续执行EXIT 退出UNDO 取消(目前MySQL不支持)}condition_value :{mysql_error_code 错误码condition 条件名SQLWARNING SQL警告NOT FOUND 数据没有发现SQLEXCEPTION SQL异常}以上就是“MySQL的存储过程实例分析”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注开发云行业资讯频道。

相关推荐: python3.4导入sqlite3是报错该怎么办

python3.4导入sqlite3是报错该怎么办,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。python3.4导入sqlite3是报错,如下:>>> import sql…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/28 12:41
下一篇 06/28 12:41

相关推荐