当前位置:家常菜>百科>科技>正文

mysql存储过程实例详解

人气:216 ℃/2024-08-15 09:54:26

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 procedure 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 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;#将语句的结束符号恢复为分号

  • 吹玻璃的标志

    吹玻璃的标志有以下几种:1、扇形,里面是三条向上的波浪线,这个标志是前挡风玻璃除雾除霜,也称“前风挡除雾”。按下这个按钮,空调的风向会吹向前挡风玻璃。2、长方形,里面是三条向上...

    问答查看全文>>
  • 修车行业的经典语录

    1、如果人家说他的座驾是一代名车,你千万不要纠正说要面对现实,否则,你的噩运即将来临。2、如果对方允许你更换新配件,那就不要试着去做任何修复工作,因为新配件是最快解决问题的办法...

    语录查看全文>>
  • 车子刚启动尾气难闻正常吗

      不正常。1、汽车刚启动时排放尾气非常刺鼻是由于冷车启动时油气混合燃烧不彻底导致的;2、主要臭味的来源是硫化氢的气味,和臭鸡蛋的味道很类似。这种情况在冬天...

    问答查看全文>>
  • 人生追求的名言警句

    1、人与人之间的相互关系中对人生的幸福最重要的莫过于真实、诚意和廉洁。2、人生最终的价值在觉醒和思考的能力,而不只在于生存。3、所谓人生,是一刻也不停地变化着的。就是**生命的...

    名言查看全文>>
  • 本田思域两厢版2019什么时候在中国上市?

    本田思域两厢版在2019年5月17日上市:1、2019年5月17日,东风本田全新思域宣布正式上市,共推出8款车型,并增加了一系列实用功能,售价为11.99万元-16.99万元;...

    问答查看全文>>
本网站部分内容、图文来自于网络,如有内容侵犯您的合法权益,请及时与我们联系,我们将第一时间安排核实及删除!
CopyRight © 2007-2025 家常菜 All Rights Reserved. 手机版