问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mysql存储过程实例详解

发布网友 发布时间:2024-05-02 05:33

我来回答

1个回答

热心网友 时间:2024-07-31 00:19

mysql存储过程是怎样的呢?下面就让我们一起来了解一下吧:
mysql中存储过程是属于一种在数据库中存储复杂程序,以便于外部程序调用的一种数据库对象。
存储过程一般来说是为了完成特定功能的SQL语句集,经过编译后创建并保存在数据库中,用户可以通过指定存储过程的名字并给定参数(通常是在需要时)来进行调用执行。
mysql存储过程优点:
1、存储过程可以进行封装,并且隐藏复杂的商业逻辑。
2、存储过程能够回传值,并能接受参数。
3、存储过程通常是无法使用SELECT指令来进行运行的,由于它是属于子程序,与查看表、数据表或是用户定义函数不同。
4、存储过程能够用于数据检验,强制实行商业逻辑等。
当然,它也存在了一部分缺点:
1、存储过程一般是定制化于特定的数据库上,因为其所支持的编程语言不同。当切换到了其他厂商的数据库系统时,就需要重写原有的存储过程了。
2、存储过程的性能调校与撰写,一般会受限于各种数据库系统。
参考示例:
存储过程的操作,具体代码如下:
创建:
CREATE PROCEDURE sp_name([proc_parameter[,...]])
[characteristic...] routine_body
proc_parameter:
[IN|OUT|INOUT] param_name type #type: Any valid MySQL data type
characteristic:
LANGUAGE SQL
|[NOT] DETERMINISTIC|{CONTAINS SQL|NO SQL|READS SQL DATA|MODIFIES SQL DATA}|SQL SECURITY {DEFINAER|INVOKER}|COMMENT string
routine_body:
Valid SQL procere statement or statements
修改:
ALTER PROCEDURE sp_name [characteristic...]
characteristic:
{CONTAINS SQL|NO SQL|READS SQL DATA|MODIFIES SQL DATA}|SQL SECURITY {DEFINAER|INVOKER}|COMMENT string
调用:
CALL sp_name([parameter[,...]])
删除:
DROP PROCEDURE sp_name
查看:
show PROCEDURE STATUS [like pattern]
SHOW CREATE PROCEDURE sp_name
在MYSQL 存储过程中的关键语法:
声明语句结束符,可自定义为:
DELIMITER $$

DELIMITER //
声明存储过程,即:
CREATE PROCEDURE demo_in_parameter(IN p_in int)
存储过程开始与结束符号,即:
BEGIN .... END
变量赋值,即:
SET @p_in=1
变量定义:
DECLARE l_int int unsigned default 4000000;
创建mysql存储过程、存储函数:
create procere 存储过程名(参数)
存储过程体:
create function 存储函数名(参数)
示例:
若是删除给定球员参加的所有比赛,具体代码为:
mysql delimiter $$  #将语句的结束符号从分号;临时改为两个$$(可以为自定义)
mysql CREATE PROCEDURE delete_matches(IN p_playerno INTEGER)
- BEGIN
-   DELETE FROM MATCHES
- WHERE playerno = p_playerno;
- END$$
Query OK, 0 rows affected (0.01 sec)
mysql delimiter;  #将语句的结束符号恢复为分号
mysql存储过程实例详解

创建mysql存储过程、存储函数:create procedure 存储过程名(参数)存储过程体:create function 存储函数名(参数)示例:若是删除给定球员参加的所有比赛,具体代码为:mysql delimiter $$#将语句的结束符号从分号;临时改为两个$$(可以为自定义)mysql CREATE PROCEDURE delete_matches(IN p_playerno INTEGE...

mysql 存储过程总结(一)

1、存储过程定义:存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以简化应用开发 人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。 存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。2、特点:封装,复用 ...

在MySQL中创建带有IN和OUT参数的存储过程的方法

mysql 存储过程

(1). 格式 MySQL存储过程创建的格式:CREATE PROCEDURE 过程名 ([过程参数[,...]])[特性 ...] 过程体 这里先举个例子:mysql> DELIMITER // mysql> CREATE PROCEDURE proc1(OUT s int)-> BEGIN -> SELECT COUNT(*) INTO s FROM user;-> END -> // mysql> DELIMITER ;注:(1)这里...

MySQL创建存储过程

存储过程是数据库管理中常用的技术之一,可以很方便的做些类似数据统计、数据分析等工作,市场上的SQL SERVER、ORACLE、MySQL都支持存储过程,但不同的数据库环境语法结构有点区别,本案例给大家讲解下MySQL创建存储过程的方法 使用常规的创建存储过程方法,发现各种报错,无法执行,在SQL SERVER下很容易成功的...

mysql 存储过程总结(二)if语句、参数

上述的需求我们虽然已经实现了,但是也存在一些问题,比如:score 分数我们是在存储过程中定义 死的,而且最终计算出来的分数等级,我们也仅仅是最终查询展示出来而已。那么我们能不能,把score分数动态的传递进来,计算出来的分数等级是否可以作为返回值返回呢? 答案是肯定的,我们可以通过接下来所讲解的 ...

mysql 存储过程 语法

mysql中存储过程的关键语法如下:1、声明语句结束符,可以自定义:DELIMITER $$或DELIMITER //2、声明存储过程:CREATE PROCEDURE demo_in_parameter(IN p_in int) 3、存储过程开始和结束符号:BEGIN ... END4、变量赋值:SET @p_in=15、变量定义:DECLARE l_int int unsigned default 4000000;6、...

mysql存储过程怎么写

MySQL 存储过程是一些 SQL 语句的集合,比如有的时候我们可能需要一大串的 SQL 语句,或者说在编写 SQL 语句的过程中还需要设置一些变量的值,这个时候我们就完全有必要编写一个存储过程。下面我们来介绍一下如何创建一个存储过程。语法格式:可以使用 CREATE PROCEDURE 语句创建存储过程。语法格式如下:...

mysql如何创建存储过程?

1用mysql客户端登入2 选择数据库 mysql>use test3 查询当前数据库有哪些存储过程 mysql>show procedure status where Db='test'4 创建一个简单的存储过程 mysql>create procedure hi() select 'hello';5 存储过程创建完毕,看怎么调用它 mysql>call hi();显示结果 mysql> call hi(); +---+ | hello |...

关于mysql存储过程

content varchar(100))eg:测试数据:20 计算机应用 应用软件开发 21 计算机操作系统 操作系统详解 22 c# c#开发实战 === 说明一点:tid编号是连续的,如(1,2,3,4···)存储过程如下,测试通过:create proc my_search beg_id int ,end_id int as declare @names varchar(200),bcp...

mysql数据库创建存储过程 数据库存储过程例题 存储过程out例子 mysql存储过程示例 mysql存储过程执行 mysql备份表的存储过程实例 sql存储过程实例详解 mysql存储过程SQL语句 mysql数据库存储过程怎么写
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
电脑清理的是哪些垃圾 学校卫生有哪些 校园打扫卫生实践内容有哪些呢? 搜狗浏览器怎么设置百度搜索 搜狗浏览器怎么把百度设置搜索引擎 上海康进医疗器械有限公司经营范围及产品 饥荒切斯特怎么升级介绍_饥荒切斯特怎么升级是什么 国家储备粮食够吃几年 日本精品卡2卡三卡4卡晚上少人不宜看?Feels网友汉娜纠正:那是B站! 莲蓉馅的做法 掌握这些烹饪技巧 酒厂属于什么行业类型 张信哲最经典的专辑是哪个?求大神帮助 四川米易白马工业投资有限公司怎么样? ...图甲是我国某城市平均房价等值线(单位:元/m2)分布示意图 读某地区土地利用现状图,回答题。 小题1:如果土地利用现状布局合理... ...图中s代表商业用地,z代表住宅用地,g代表工业用地,h代表绿化用地,m代... 明辨是非。含有未知数的式子叫做方程。( ) 百家姓中有"未"吗 江宁区万欣花园到江宁万科幼儿园怎么走 今年23岁男天天左肩膀酸痛无力而且左胸腋窝处闷痛 ...如果直接用催化氢化的方法或氧化的方法,醛基都将被破坏?_百度知 ... 在制备苯甲醛过程中怎样防止进一步氧化成苯甲酸 怎么防止醛基变酸 ...3D Max等软件,苹果哪款电脑适合? mac pro好还是imac好? 用Mac板绘怎么样?还是说windows系统比较好? ...还是windows系统的?因为不知道这方面的软件是mac版的多 "宝贝"翻译成英语? 优选净值是什么意思 一首英文歌,呜呜呜呜呜呜呜间隔,不记得是几个呜了,然后就是英文,然后... 你好,我的是15款全新爱丽舍,我的车行驶了150000公里,已经更换了五次_百... 参考资料 - 求给我一首歌的时间歌词 雅思听力考试回答写50kilometers和50 KM都正确吗? you'd better dress smart at the party ...具体在哪里啊?定都哪里?刘备葬在哪里,诸葛亮,庞统,关羽,张飞_百度知... 破伤风疫苗能预防破伤风呢么? ...依然会得破伤风吗,三针百白破能预防破伤风吗 山河令为什么会有河南话山河令出现河南话的原因 机动战姬聚变零四怎么样 打峡谷先锋有什么小技巧? 微刺激之后为什么得隔月才能移植 ...感受大自然的经历吗?试着学习本文的写法写一段话来描述自己的感受... 公司交了社保为什么在网上查不到? 消防锁哪家质量好 执法人员为何需要武器照明 女性早上喝白开水好还是喝豆浆好呢? 深圳到北京西站的列车:时刻表? 深圳有动车到北京吗,车票多少钱 氧气属于危化品吗? ...的反应是放热反应.下列叙述中正确的是( )A.所有的放热反应都是... 怎样查找国内化学类期刊影响因子? 请问巴中市人才交流中心在什么地方?具体地址?谢谢!