mysql的存储过程介绍
发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,什么是mysql存储过程?存储程序是被存储在服务器中的组合SQL语句,经编译创建并保存在数据库中,用户可通过存储过程的名字调用执行。存储过程核心思想就是数据库SQL语言层面的封装与重用性。使用存储过程
千家信息网最后更新 2024年11月19日mysql的存储过程介绍
什么是mysql存储过程?
存储程序是被存储在服务器中的组合SQL语句,经编译创建并保存在数据库中,用户可通过存储过程的名字调用执行。存储过程核心思想就是数据库SQL语言层面的封装与重用性。使用存储过程可以较少应用系统的业务复杂性,但是会增加数据库服务器系统的负荷,所以在使用时需要综合业务考虑。
基本语法格式
CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body
实例一:计算消费折扣
-- 创建存储过程DROP PROCEDURE IF EXISTS p01_discount ;CREATE PROCEDURE p01_discount(IN consume NUMERIC(5,2),OUT payfee NUMERIC(5,2))BEGIN -- 判断收费方式 IF(consume>100.00 AND consume<=300.00) THEN SET payfee=consume*0.8; ELSEIF (consume>300.00) THEN SET payfee=consume*0.6; ELSE SET payfee = consume; END IF; SELECT payfee AS result;END ; -- 调用存储过程 CALL p01_discount(100.0,@discount);
实例二:While..Do写数据
提供一张数据表
CREATE TABLE `t03_proced` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `temp_name` varchar(20) DEFAULT NULL COMMENT '名称', PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='触发器写数据';
存储程序
根据传入的参数,判断写入t03_proced表的数据条数。
DROP PROCEDURE IF EXISTS p02_batch_add ;CREATE PROCEDURE p02_batch_add(IN count INT(11))BEGIN DECLARE temp int default 0; WHILE temp < count DO INSERT INTO t03_proced(temp_name) VALUES ('pro_name'); SET temp = temp+1 ; END WHILE; END ; -- 测试:写入10条数据call p02_batch_add(10);
注意事项
1、业务场景
存储过程在实际开发中的应用不是很广泛,通常复杂的业务场景都在应用层面开发,可以更好的管理维护和优化。
2、执行速度
假如在单表数据写入的简单场景下,基于应用程序写入,或者数据库连接的客户端写入,相比存储过程写入的速度就会慢很多,存储过程在很大程度上没有网络通信开销,解析开销,优化器开销等。
以上就是实例详解mysql存储过程的详细内容,更多请关注其它相关文章!
存储
过程
数据
业务
数据库
应用
场景
实例
开销
程序
复杂
就是
层面
服务器
系统
速度
开发
服务
很大
事项
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
多个数据库怎么打开
多串口服务器生产
陌陌大数据库
战地5喷子服务器
移动办公应用网络安全域
c 连接云数据库
网络安全工作专业礼仪
服务器文件找回软件
航天a6数据库升级密码
金的xrd数据库
国家网络安全宣传周答案
武汉市软件开发培训学校
软件开发度量项
大学生维护权益网络安全守护家园
数据库中排序默认为
数据库表转化er图
asp复选框批量更新数据库
黄石学网络安全
url数据库怎么获取
服务器cpu需要主频高的么
服务器操作系统选型方案
伪分布集群搭建要装数据库吗
软件开发度量项
网络安全宣传语
为实现计算机网络安全
网络安全 辩论赛
南水北调网络安全采购项目
网络安全运动2017
服务器R5300g4
吉林省网络安全董维仁