[进阶]MySQL学习笔记十一存储过程
来源:互联网 发布:php bug管理系统 编辑:程序博客网 时间:2024/05/11 09:48
概念:
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过制定存储过程的名字并给出参数来执行它。存储过程是数据库的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。
存储过程的优点:
- 重复使用。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。
- 提高性能。存储过程在创建的时候进行了变异,将来使用的时候不再重新变异。一般的SQL语句每执行一次就需重新编译一次,所以使用存储过程提高了效率。
- 减少网络流量。存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。
- 安全性。参数化的存储过程可以防止SQL注入式攻击,而且可以讲Grant、Deny以及Revoke权限应用于存储过程。
存储过程的缺点:
- 调试麻烦,但是用 PL/SQL Developer 调试很方便!弥补这个缺点。
- 移植问题,数据库端代码当然是与数据库相关的。但是如果是做工程型项目,基本不存在移植问题。
- 重新编译问题,因为后端代码是运行前编译的,如果带有引用关系的对象发生改变时,受影响的存储过程、包将需要重新编译(不过也可以设置成运行时刻自动编译)。
- 如果在一个程序系统中大量的使用存储过程,到程序交付使用的时候随着用户需求的增加会导致数据结构的变化,接着就是系统的相关问题了,最后如果用户想维护该系统可以说是很难很难、而且代价是空前的,维护起来更麻烦。
(以上引用自:百度百科)
动手实践:
1. 创建数据表tbOrders(订单表)
2. 创建存储过程
3. 调用存储过程
扩展:
- 查看存储过程创建:show create procedure pGetFirstOrderCustomer;
- 删除存储过程:dorp procedure pGetFirstOrderCustomer;
- IN 输入参数:表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值
- OUT 输出参数:该值可在存储过程内部被改变,并可返回
- INOUT 输入输出参数:调用时指定,并且可被改变和返回
0 0
- [进阶]MySQL学习笔记十一存储过程
- MySQL 存储过程学习笔记
- MySQL存储过程学习笔记
- MySQL存储过程学习笔记
- MySql存储过程学习笔记
- MySQL存储过程学习笔记
- mysql学习笔记:存储过程
- Mysql存储过程学习笔记
- mysql学习笔记:存储过程
- MySQL存储过程学习笔记
- 学习笔记:mysql存储过程
- Mysql 存储过程学习笔记
- MySQL存储过程学习笔记
- [学习笔记]MySql存储过程学习一
- [学习笔记]MySql存储过程学习二
- [学习笔记]MySql存储过程学习三
- [学习笔记]MySql存储过程学习四
- mysql进阶之存储过程
- Android JNI 使用的数据结构JNINativeMethod详解
- 用REMASTERSYS定制自己的UBUNTU安装光盘
- 批量修改文件名
- 工作问题总结(二十九)模拟按键(刷新,前进,后退,主页)
- POJ 2342
- [进阶]MySQL学习笔记十一存储过程
- re模块的方法
- 虚拟机暂停后再次启动root用户无法登录
- AlarmManager.RTC和ELAPSED_REALTIME的区别
- xargs命令
- 一些长度限制
- hive导入HDFS数据
- LINK : fatal error LNK1123 (VS2010)
- 快速充电技术介绍