mysql的存储过程介绍
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,什么是mysql存储过程?存储程序是被存储在服务器中的组合SQL语句,经编译创建并保存在数据库中,用户可通过存储过程的名字调用执行。存储过程核心思想就是数据库SQL语言层面的封装与重用性。使用存储过程
千家信息网最后更新 2025年01月22日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安全错误
数据库的锁怎样保障安全
湖北通用软件开发参考价格
魔兽世界各服务器操作难度
中欧网络安全合作
通信企业安全生产与网络安全方案
网络安全和刑事科学
mac电脑连接服务器端口不通
战争前线 服务器
外卖服务器分配
观月网络技术公司
患者资料的数据库类型包括
四川创益云软件开发公司
广州悦恒互联网科技有限公司
表情符写入数据库
链接服务器出错ns
hw网络安全基线
lol新年服务器
前海妙互联网科技
深圳市信锐网络技术客服
计算机网络技术提取视频
网络技术排行榜
大型网站服务器租用种类
预约挂号数据库实现
宁波市第二届网络安全
馆藏数据库系统软件
深信服网络技术工程师笔试
成都java软件开发就业前景
海致网络技术有限公司地址
云服务器上玩不了游戏
如何开启服务器管理员
java软件开发兼职