mysql存储过程实例详解
mysql存储过程是怎样的呢?下面就让我们一起来了解一下吧
mysql中存储过程是属于一种在数据库中存储复杂程序,以便于外部程序调用的一种数据库对象。
存储过程是为了完成特定功能的SQL语句集,经过编译后创建并保存在数据库中,用户可以通过指定存储过程的名字并给定参数(通常是在需要时)来进行调用执行。
mysql存储过程优点
1、存储过程可以进行封装,并且隐藏复杂的商业逻辑。
2、存储过程能够回传值,并能接受参数。
3、存储过程通常是无法使用SELECT指令来进行运行的,由于它是属于子程序,与查看表、数据表或是用户定义函数不同。
4、存储过程能够用于数据检验,强制实行商业逻辑等。
,它也存在了一部分缺点
1、存储过程一般是定制化于特定的数据库上,因为其所支持的编程语言不同。当切换到了其他厂商的数据库系统时,就需要重写原有的存储过程了。
2、存储过程的性能调校与撰写,一般会受限于各种数据库系统。
参考示例
存储过程的操作,具体代码如下
创建
CREATE PROCEDURE sp_na([proc_parater[,...]])
[characteristic...] routine_body
proc_parater:
[IN|OUT|INOUT] param_na 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 procedure statent or statents
修改
ALTER PROCEDURE sp_na [characteristic...]
characteristic:
{CONTAINS SQL|NO SQL|READS SQL DATA|MODIFIES SQL DATA}|SQL SECURITY {DEFINAER|INVOKER}|COMMENT 'string'
调用
CALL sp_na([parater[,...]])
删除
DROP PROCEDURE sp_na
查看
show PROCEDURE STATUS [like 'pattern']
SHOW CREATE PROCEDURE sp_na
在MYSQL 存储过程中的关键语法
声明语句结束符,可自定义为
DELIMITER $$
或
DELIMITER //
声明存储过程,即
CREATE PROCEDURE demo_in_parater(IN p_in int)
存储过程开始与结束符号,即
BEGIN .... END
变量赋值,即
SET @p_in=1
变量定义
DECLARE l_int int unsigned default 4000000;
创建mysql存储过程、存储函数
create procedure 存储过程名(参数)
存储过程体
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; #将语句的结束符号恢复为分号
以上就是小编的分享了,希望能够帮助到大家。
生活小妙招
- 杭州市小客车总量调控管理暂行规定
- 个人所得税退税的条件和标准 下载个人所得税
- 江苏省南通市通州区天气 江苏省南通通州区天气
- 夫妻有按揭的房子离婚怎么办 夫妻有按揭的房子
- 山东省青岛市市北区天气 山东省青岛市市北区天
- 什么财产离婚后不用分割 什么财产离婚后不用分
- 工伤认定必须满足三个条件 工伤认定申请必须满
- 家暴出轨不受离婚冷静期限制 家暴不适用离婚冷
- 武夷山一周天气预报 武夷山一周天气预报15天准
- 怎么与孩子沟通最有效方法 怎么与孩子沟通的技
- 女方提出离婚财产怎么分割 女方提出离婚财产怎
- 华东五市天气预报 华东五市的天气
- 深圳车辆违章记录查询 深圳车辆违章记录查询
- 老公铁了心要离婚还能挽回吗 老公铁了心离婚的
- 怎么计算工伤十级的赔偿金 工伤十级赔偿计算公
- 武汉天气预报15天气报 武汉天气预报15天