MySQL基础八之存储过程
来源:互联网 发布:国服lol有没有mac版 编辑:程序博客网 时间:2024/06/01 08:27
1.存储过程简介
1.1.概念:存储过程是SQL语句和控制语句预编译的集合,以一个名称存储作为一个单元处理(省去了语法分析和编译的过程提高了效率)。
1)增强了SQL语句的功能和灵活性
2)实现了较快的执行速度
3)减少了网络流量
1.2.
CREATE
[DEFINER = {user | CURRENT_USER}]
PROCEDURE sp_name ([proc_parameter[,......]])
[characteristic ......] rotine_body
1)proc_paramete:[IN | OUT | INOUT] param_name type
2)IN:表示该参数的值必须在调用改存储过程时候被指定,这个值不能被返回。
3)OUT:表示该参数的值可以被存储过程改变,并且可以返回。
4)INOUT:表示该参数调用时指定,并且可以被改变与返回。
5)过程体:和函数体差不多
1.3.创建不带参数的存储过程(查看版本信息)
CREATE
PROCEDURE sp1()
SELECT VERSION();
1.3.1.调用:CALL sp1()或者CALLsp1
1.4. 创建带有IN类型参数的存储过程(删除表记录)
CREATE
PROCENDURE sp2(IN col_name INT UNSIGNED)
BEGIN
DELETE FROM table_name WHERE where_condition;
END
//
1)col_name不能和数据库中的字段名相同,不然所有都会删除。
2)删除存储过程:DROP PROCENDURE sp_name
1.5.创建带有IN类型和OUT类型的存储过程(删除用户并返回用户总数)
CREATE
PROCENDRE sp3(IN col_name INT UNSIGNED, OUT col_name1 INT UNSIGNED )
BEGIN
DELETE FORM table_name WHERE where_condition;
SELECT COUNT(col_name) FROM table_name INTO col_name1
END
//
1)查询返回的参数:SELECT @nums;(@为用户变量)
1.6.自定义函数和存储过程的区别
1)存储过程复杂一些,函数的针对性强
2)返回值个数不一样函数为一个,存储过程可以返回多个
3)存储过程都是独立运行的,而函数一般结合SQL一起使用
注明:存储的ALTER只能修改部分特性,如果要修改过程体,只能删除原有的存储过程再新建。
- MySQL基础八之存储过程
- MySQL基础八:MySQL存储过程
- MySQL基础之存储过程
- MySQL基础之存储过程
- MySQL(基础篇)之存储过程
- Mysql存储过程基础
- mysql之存储过程
- mysql之存储过程
- mysql之存储过程
- MySQL之存储过程
- MYSQL之存储过程
- MySQL之存储过程
- MYSQL-基础—存储过程
- MYSQL:基础—存储过程
- 存储过程基础(For MySQL)
- mysql 存储过程 基础例子
- 【MySql】MySql之存储过程
- 存储过程之八-java代码调用oracle存储过程
- CSDN-markdown 表格样式设置(跨行表格,背景色等)
- Yalantis 那些动画效果很炫的 Android 及 iOS 开源项目
- Cocoapods
- iOS开发系列--并行开发
- Android基础第二篇
- MySQL基础八之存储过程
- js的数据类型及他们的内存图示
- java wait()和sleep()方法之经验谈
- ForkJoin
- eclipse 安装插件总结
- [LeetCode OJ]59. Spiral Matrix II
- 解决JQuery的Ajax请求跨域问题
- 通过Java反射调用方法
- Android中相关ScrollView原理