MySQL存储过程

mysql 存储过程详解 阅读详情

14.1.1 创建存储过程

MySQL中,创建存储过程的基本形式如下:

  1. CREATE PROCEDURE sp_name ([proc_parameter[,...]])  
  2.         [characteristic ...] routine_body 

其中,sp_name参数是存储过程的名称;proc_parameter表示存储过程的参数列表; characteristic参数指定存储过程的特性;routine_body参数是SQL代码的内容,可以用BEGIN…END来标志SQL代码的开始和结束。

proc_parameter中的每个参数由3部分组成。这3部分分别是输入输出类型、参数名称和参数类型。其形式如下:

  1. [ IN | OUT | INOUT ] param_name type 


其中,IN表示输入参数;OUT表示输出参数; INOUT表示既可以是输入,也可以是输出; param_name参数是存储过程的参数名称;type参数指定存储过程的参数类型,该类型可以是MySQL数据库的任意数据类型。

characteristic参数有多个取值。其取值说明如下:

LANGUAGE SQL:说明routine_body部分是由SQL语言的语句组成,这也是数据库系统默认的语言。

[NOT] DETERMINISTIC:指明存储过程的执行结果是否是确定的。DETERMINISTIC表示结果是确定的。每次执行存储过程时,相同的输入会得到相同的输出。NOT DETERMINISTIC表示结果是非确定的,相同的输入可能得到不同的输出。默认情况下,结果是非确定的。

{ CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }:指明子程序使用SQL语句的限制。CONTAINS SQL表示子程序包含SQL语句,但不包含读或写数据的语句;NO SQL表示子程序中不包含SQL语句;READS SQL DATA表示子程序中包含读数据的语句;MODIFIES SQL DATA表示子程序中包含写数据的语句。默认情况下,系统会指定为CONTAINS SQL。

SQL SECURITY { DEFINER | INVOKER }:指明谁有权限来执行。DEFINER表示只有定义者自己才能够执行;INVOKER表示调用者可以执行。默认情况下,系统指定的权限是DEFINER。

COMMENT 'string':注释信息。

技巧:创建存储过程时,系统默认指定CONTAINS SQL,表示存储过程中使用了SQL语句。但是,如果存储过程中没有使用SQL语句,最好设置为NO SQL。而且,存储过程中最好在COMMENT部分对存储过程进行简单的注释,以便以后在阅读存储过程的代码时更加方便。

【示例14-1】 下面创建一个名为num_from_employee的存储过程。代码如下:

  1. CREATE  PROCEDURE  num_from_employee (IN emp_id INT, OUT count_num INT )  
  2.           READS SQL DATA  
  3.           BEGIN  
  4.               SELECT  COUNT(*)  INTO  count_num  
  5.               FROM  employee  
  6.               WHERE  d_id=emp_id ;  
  7.           END 

上述代码中,存储过程名称为num_from_employee;输入变量为emp_id;输出变量为count_num。SELECT语句从employee表查询d_id值等于emp_id的记录,并用COUNT(*)计算d_id值相同的记录的条数,最后将计算结果存入count_num中。代码的执行结果如下:

  1. mysql> DELIMITER &&  
  2. mysql> CREATE  PROCEDURE  num_from_employee
    (IN emp_id INT, OUT count_num INT )  
  3.     -> READS SQL DATA  
  4.     -> BEGIN  
  5.     -> SELECT  COUNT(*)  INTO  count_num  
  6.     -> FROM  employee  
  7.     -> WHERE  d_id=emp_id ;  
  8.     -> END &&  
  9. Query OK, 0 rows affected (0.09 sec)  
  10. mysql> DELIMITER ; 

代码执行完毕后,没有报出任何出错信息就表示存储函数已经创建成功。以后就可以调用这个存储过程,数据库中会执行存储过程中的SQL语句。

说明:MySQL中默认的语句结束符为分号(;)。存储过程中的SQL语句需要分号来    结束。为了避免冲突,首先用"DELIMITER &&"将MySQL的结束符设置为&&。最后再用"DELIMITER ;"来将结束符恢复成分号。这与创建触发器时是一样的。

 

 

 

14.1.2 创建存储函数

在MySQL中,创建存储函数的基本形式如下:

  1. CREATE FUNCTION sp_name ([func_parameter[,...]])  
  2.         RETURNS type  
  3.         [characteristic ...] routine_body 

其中,sp_name参数是存储函数的名称;func_parameter表示存储函数的参数列表;RETURNS type指定返回值的类型;characteristic参数指定存储函数的特性,该参数的取值与存储过程中的取值是一样的,请读者参照14.1.1小节的内容;routine_body参数是SQL代码的内容,可以用BEGIN…END来标志SQL代码的开始和结束。

func_parameter可以由多个参数组成,其中每个参数由参数名称和参数类型组成,其形式如下:

  1. param_name type 

其中,param_name参数是存储函数的参数名称;type参数指定存储函数的参数类型,该类型可以是MySQL数据库的任意数据类型。

【示例14-2】 下面创建一个名为name_from_employee的存储函数。代码如下:

  1. CREATE  FUNCTION  name_from_employee (emp_id INT )  
  2.           RETURNS VARCHAR(20)  
  3.           BEGIN  
  4.               RETURN  (SELECT  name  
  5.               FROM  employee  
  6.               WHERE  num=emp_id );  
  7.           END 

上述代码中,存储函数的名称为name_from_employee;该函数的参数为emp_id;返回值是VARCHAR类型。SELECT语句从employee表查询num值等于emp_id的记录,并将该记录的name字段的值返回。代码的执行结果如下:

  1. mysql> DELIMITER &&  
  2. mysql> CREATE  FUNCTION  name_from_employee (emp_id INT )  
  3.     -> RETURNS VARCHAR(20)  
  4.     -> BEGIN  
  5.     -> RETURN  (SELECT  name  
  6.     -> FROM  employee  
  7.     -> WHERE  num=emp_id );  
  8.     -> END&&  
  9. Query OK, 0 rows affected (0.00 sec)  
  10. mysql> DELIMITER ; 

结果显示,存储函数已经创建成功。该函数的使用和MySQL内部函数的使用方法一样。

 

 

 

14.1.3  变量的使用

在存储过程和函数中,可以定义和使用变量。用户可以使用DECLARE关键字来定义变量。然后可以为变量赋值。这些变量的作用范围是BEGIN…END程序段中。本小节将讲解如何定义变量和为变量赋值。

1.定义变量

MySQL中可以使用DECLARE关键字来定义变量。定义变量的基本语法如下:

  1. DECLARE  var_name[,...]  type  [DEFAULT value] 

其中, DECLARE关键字是用来声明变量的;var_name参数是变量的名称,这里可以同时定义多个变量;type参数用来指定变量的类型;DEFAULT value子句将变量默认值设置为value,没有使用DEFAULT子句时,默认值为NULL。

【示例14-3】 下面定义变量my_sql,数据类型为INT型,默认值为10。代码如下:

  1. DECLARE  my_sql  INT  DEFAULT 10 ; 

2.为变量赋值

MySQL中可以使用SET关键字来为变量赋值。SET语句的基本语法如下:

  1. SET  var_name = expr [, var_name = expr] ... 

其中,SET关键字是用来为变量赋值的;var_name参数是变量的名称;expr参数是赋值表达式。一个SET语句可以同时为多个变量赋值,各个变量的赋值语句之间用逗号隔开。

【示例14-4】 下面为变量my_sql赋值为30。代码如下:

  1. SET  my_sql = 30 ; 

MySQL中还可以使用SELECT…INTO语句为变量赋值。其基本语法如下:

  1. SELECT  col_name[,…]  INTO  var_name[,…]  
  2.     FROM  table_name  WEHRE  condition 

其中,col_name参数表示查询的字段名称;var_name参数是变量的名称;table_name参数指表的名称;condition参数指查询条件。

【示例14-5】 下面从employee表中查询id为2的记录,将该记录的d_id值赋给变量my_sql。代码如下:

  1. SELECT  d_id  INTO  my_sql  
  2.         FROM  employee  WEHRE  id=2 ; 

 

 

14.1.4  定义条件和处理程序

定义条件和处理程序是事先定义程序执行过程中可能遇到的问题。并且可以在处理程序中定义解决这些问题的办法。这种方式可以提前预测可能出现的问题,并提出解决办法。这样可以增强程序处理问题的能力,避免程序异常停止。MySQL中都是通过DECLARE关键字来定义条件和处理程序。本小节中将详细讲解如何定义条件和处理程序。

1.定义条件

MySQL中可以使用DECLARE关键字来定义条件。其基本语法如下:

  1. DECLARE  condition_name  CONDITION  FOR  condition_value  
  2. condition_value:  
  3.       SQLSTATE [VALUE] sqlstate_value | mysql_error_code 

其中,condition_name参数表示条件的名称;condition_value参数表示条件的类型;sqlstate_value参数和mysql_error_code参数都可以表示MySQL的错误。例如ERROR 1146 (42S02)中,sqlstate_value值是42S02,mysql_error_code值是1146。

【示例14-6】 下面定义"ERROR 1146 (42S02)"这个错误,名称为can_not_find。可以用两种不同的方法来定义,代码如下:

  1. //方法一:使用sqlstate_value  
  2. DECLARE  can_not_find  CONDITION  FOR  SQLSTATE  '42S02' ;  
  3. //方法二:使用mysql_error_code  
  4. DECLARE  can_not_find  CONDITION  FOR  1146 ; 

2.定义处理程序

MySQL中可以使用DECLARE关键字来定义处理程序。其基本语法如下:

  1. DECLARE handler_type HANDLER FOR 
    condition_value[,...] sp_statement  
  2. handler_type:  
  3.     CONTINUE | EXIT | UNDO  
  4. condition_value:  
  5.     SQLSTATE [VALUE] sqlstate_value |
    condition_name  | SQLWARNING  
  6.        | NOT FOUND  | SQLEXCEPTION  | mysql_error_code 

其中,handler_type参数指明错误的处理方式,该参数有3个取值。这3个取值分别是CONTINUE、EXIT和UNDO。CONTINUE表示遇到错误不进行处理,继续向下执行;EXIT表示遇到错误后马上退出;UNDO表示遇到错误后撤回之前的操作,MySQL中暂时还不支持这种处理方式。

注意:通常情况下,执行过程中遇到错误应该立刻停止执行下面的语句,并且撤回前面的操作。但是,MySQL中现在还不能支持UNDO操作。因此,遇到错误时最好执行EXIT操作。如果事先能够预测错误类型,并且进行相应的处理,那么可以执行CONTINUE操作。

condition_value参数指明错误类型,该参数有6个取值。sqlstate_value和mysql_error_code与条件定义中的是同一个意思。condition_name是DECLARE定义的条件名称。SQLWARNING表示所有以01开头的sqlstate_value值。NOT FOUND表示所有以02开头的sqlstate_value值。SQLEXCEPTION表示所有没有被SQLWARNING或NOT FOUND捕获的sqlstate_value值。sp_statement表示一些存储过程或函数的执行语句。

【示例14-7】 下面是定义处理程序的几种方式。代码如下:

  1. //方法一:捕获sqlstate_value  
  2. DECLARE CONTINUE HANDLER FOR SQLSTATE '42S02'
    SET @
    info='CAN NOT FIND';  
  3. //方法二:捕获mysql_error_code  
  4. DECLARE CONTINUE HANDLER FOR 1146 SET @info='CAN NOT FIND';  
  5. //方法三:先定义条件,然后调用  
  6. DECLARE  can_not_find  CONDITION  FOR  1146 ;  
  7. DECLARE CONTINUE HANDLER FOR can_not_find SET 
    @
    info='CAN NOT FIND';  
  8. //方法四:使用SQLWARNING  
  9. DECLARE EXIT HANDLER FOR SQLWARNING SET @info='ERROR';  
  10. //方法五:使用NOT FOUND  
  11. DECLARE EXIT HANDLER FOR NOT FOUND SET @info='CAN NOT FIND';  
  12. //方法六:使用SQLEXCEPTION  
  13. DECLARE EXIT HANDLER FOR SQLEXCEPTION SET @info='ERROR'; 

上述代码是6种定义处理程序的方法。第一种方法是捕获sqlstate_value值。如果遇到sqlstate_value值为42S02,执行CONTINUE操作,并且输出"CAN NOT FIND"信息。第二种方法是捕获mysql_error_code值。如果遇到mysql_error_code值为1146,执行CONTINUE操作,并且输出"CAN NOT FIND"信息。第三种方法是先定义条件,然后再调用条件。这里先定义can_not_find条件,遇到1146错误就执行CONTINUE操作。第四种方法是使用SQLWARNING。SQLWARNING捕获所有以01开头的sqlstate_value值,然后执行EXIT操作,并且输出"ERROR"信息。第五种方法是使用NOT FOUND。NOT FOUND捕获所有以02开头的sqlstate_value值,然后执行EXIT操作,并且输出"CAN NOT FIND"信息。第六种方法是使用SQLEXCEPTION。SQLEXCEPTION捕获所有没有被SQLWARNING或NOT FOUND捕获的sqlstate_value值,然后执行EXIT操作,并且输出"ERROR"信息。

MySQL系列—-创建存储函数、游标的使用 MySQL系列—-创建存储函数、游标的使用创建存储函数输入任意三个数,结果输出它们的最小值调用函数使用游标使用游标从表中查询信息从sc表中查询成绩高于80分的学生信息有帮助的别忘了点个赞再走哦!! 本期是MySQL系列哦~~ 主要用两个例子跟大家分别展示创建存储函数以及游标的使用 创建存储函数 存储函数不同于存储过程,它有返回值,需要有RETURN语句 输入任意三个数,结果输出它们的最小值 DELIMITER $$ ## 创建存储函数smin CREATE FUNCTION `sj`.`smin`(i INT,j INT,k INT) RETURNS INT BEGIN DECLARE 立即下载

相关推荐

mysql 报错This function has none of DETERMINISTIC解决方案

主要介绍了mysql 报错This function has none of DETERMINISTIC解决方案的相关资料,需要的朋友可以参考下

MySQL-------存储过程与存储函数(1)

10.1.1创建存储过程 存储过程就是一条或者多条SQL语句的集合,可以视为批文件。它可以定义批量插入的语句,也可以定义一个接收不同条件的SQL。 创建存储过程的语句为 CREATE PROCEDURE,创建存储函数的语句为CREATE FUNCTION。 调用存储过程的语句为CALL。 调用存储函数的形式就像调用MySQ...

随风而逝的博客 2458

AD/Protel老手才知道的PCB过孔查看技巧:3分钟分清通孔、盲孔和埋孔

本文为PCB设计工程师提供了在Altium Designer/Protel中快速鉴别通孔、盲孔和埋孔的实用技巧。通过层叠管理器、高级筛选工具和实战五步法,帮助用户在3分钟内精准识别过孔类型,提升设计效率和电路性能。特别适合处理高密度HDI板卡中的复杂过孔布局。

weixin_29164497的博客 575

MySQL中存储过程(详解,一篇就够了!!!)

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

Z_CH8648的博客 2万+

OCR模型轻量化新思路:用ONNX Runtime加速PP-OCRv4推理(附性能对比测试)

本文详细介绍了如何利用ONNX Runtime对PP-OCRv4模型进行轻量化部署与推理加速。通过模型导出优化、动态量化、线程绑定及内存复用等技巧,在树莓派、RK3588等边缘设备上实现了超过50%的性能提升,并显著降低了内存占用,为移动端OCR部署提供了完整的优化方案和实测数据对比。

weixin_29063979的博客 496

人工智能,不止于模型:四步实现完整工作流

工程师越来越多地致力于将人工智能 (AI) 集成到自己的项目和应用中,同时不断着力提升自己的 AI 技能。面对 AI 问题,工程师首先要了解什么是 AI,以及如何将它纳入当前工作流,这看似简单,实则未必容易。在 Google 中搜索“什么是 AI?”会得到数百万条结果,包括不同程度的技术和相关信息。那么,对工程师而言,AI 意味着什么?人们对 AI 的关注主要集中在 AI 模型上,受此影响,工程师会迅速投入 AI 建模的研究。

r1832644594的博客 2815

MySQL的存储过程

概念 MySQL5.0版本开始支持存储过程,存储过程就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法,存储过就是数据库SQL与层层面的代码封装与重用 特性 1.有输入输出参数,可以声明变量,有if/else/case/while等控制语句,通过编写存储过程,可以实现复杂的逻辑功能 2.函数的普通特性:模块化,封装,代码复用 3.速度快,只有首次执行需要经过编译和优化步骤,后续被调用可以直接执行,省去以上步骤 格式 创建存储过程 -- 创建存储过

weixin_60589106的博客 5万+

【UOJ170】Picks loves segment tree VIII

【题目链接】 点击打开链接 【前置阅读】 【BZOJ4695】最假女选手 【BZOJ3064】【TYVJ1518】CPU监控【UOJ169】【UR #11】元旦老人与数列 【思路要点】 前置阅读中的前两题中,我们分别对线段树的区间取最大/最小值和线段树的历史最大/最小值进行了研究。本题中,两类问题同时出现,因此我们

cz_xuyixuan的博客 1250

什么是mysql存储过程_mysql 存储过程

存储过程1.什么是存储过程一组可编程函数,是为了满足特定功能的SQL语句集存储过程就是具有名字的一段代码,用来完成个特定的功能创建的存储过程保存在数据库的数据字典中​2.为什么要用存储过程将重复性很高的操作,封装到一个存储过程中,简化了对这些SQL的调用批量处理统一接口,确保数据安全相对于Oracle来说,Mysql的存储过程相对功能较弱,使用较少​3.存储过程的创建和调用1. delimiter...

weixin_31470259的博客 9109

OpenVox 8FXO板卡驱动安装记录

OpenVox A800P和A1200P的板卡驱动安装及问题解决方法

clliu的专栏 2463

Allegro技巧----相同模块复用实现快速布局

使用Allegro软件进行PCB Layout设计时,当电路图中有很多路相同的模块,使用模块复用的的操作方法,可以显著提高工作效率,同时也可以使PCB布局在整体上显得美观。 如图,有8个相同的ADC采样电路模块,它们在原理图中的电路也是一样的,对于这多个相同的电路模块,如果一个个元器件布局很明显做了很多重复机械的劳动,效率低下;但是强大的Allegro软件早就考虑到了这点,只需要在PCB中做好其中的一个,则其余相同的模块通过复用的方式,可以快速完成,方便省事还美观。 具体步骤: 1.首先完成一个模块的PC

sinat_15677011的博客 5655

MySQL存储过程详解 mysql 存储过程

mysql存储过程详解 1.存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制结构组成。当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做

qq_28807077的博客 2780

AI驱动的网络安全运维:智能化时代的安全保障

本项目旨在使用Python和AI技术构建一个智能化的网络安全运维系统,能够实时监测网络流量,检测潜在的安全威胁,并自动采取应对措施,从而提升网络安全管理的效率和准确性。具体内容包括:环境配置与依赖安装数据采集与预处理机器学习模型构建与训练实时威胁检测与响应实际应用案例通过本文的介绍,我们展示了如何使用Python和AI技术构建一个智能化的网络安全运维系统。

Echo_Wish 1290

mysql 存储过程复制_MySQL存储过程

存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合。可将其视为批文件,虽然它们的作用不仅限于批处理。创建存储过程CREATE PROCEDURE productpricing()BEGINSELECT AVG(prod_price)AS priceaverageFROM products;end;此存储过程名为productpricing,用CREATE PROCEDURE ...

weixin_33553051的博客 1621

Open3D 计算FPFH特征【2025最新版】

FPFH特征描述子的python实现,本文最新更新时间为:2025年3月18日。

点云侠的博客 5275

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

mysql存储过程call_mysql call 存储过程

PHP调用MYSQL存储过程实例PHP调用MYSQL存储过程实例标签:mysql存储phpsqlquerycmd2010-09-26 11:1011552人阅读评论(3)收藏举报实例一:无参的存储过程$conn = mysql_connect('localhost','root','root') o...文章thinkyoung2016-01-20544浏览量存储过程实例存储过程:是为了...

weixin_34981046的博客 2494

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

mysql 存储过程 总结_Mysql存储过程总结

1.关于MySQL的存储过程存储过程是数据库存储的一个重要的功能,但是MySQL在5.0以前并不支持存储过程,这使得MySQL在应用上大打折扣。好在MySQL 5.0终于开始已经支持存储过程,这样即可以大大提高数据库的处理速度,同时也可以提高数据库编程的灵活性。2MySQL存储过程的创建(1).格式MySQL存储过程创建的格式:CREATE PROCEDURE过程名([过程参数[,......

weixin_33384949的博客 936

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

MySQL 存储过程

存储过程(Stored Procedure)是一种存储在数据库中的程序,可供外部程序调用的一种数据库对象。存储过程是为了完成特定功能的 SQL 语句集,提供许多过程语言的功能,例如变量定义、条件语句、循环语句、游标以及异常处理等。存储过程没有返回值,但是它可以通过输出参数实现数据的返回,同时还可以产生一个查询结果返回到客户端。存储过程经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)调用执行。存储过程思想上很简单,就是数据库 SQL 语句的封装与重用。

Doublelv 的博客专栏。 3848

mysql fetch 存储过程_【MySQL】存储过程及游标的使用

1. 写在前面本篇内容及部分示例代码基于《MySQL必知必会》,所需要获得和运行的一切东西,可以在http://www.forta.com/books/0672327120/ 上找到,包括两个SQL脚本,create.sql 和 populate.sql。本篇内容的理解同时也参考了MySQL8.0的官方文档《MySQL 8.0 Reference Manual》,若有理解不到位的地方,有能力的小...

weixin_33557333的博客 1358

什么是mysql存储过程_什么是mysql存储过程

MySQL中的存储过程指的是存储在数据库中的SQL语句集合,当创建好存储过程后在运行时提供所需参数,存储过程就可以以代码指定的方式使用参数执行并返回值在MySQL中提供了创建存储过程的能力。存储过程是MySQL以及其他数据库管理系统中的强大功能。接下来在文章中将为大家具体介绍MySQL中的存储过程,具有一定的参考作用,希望对大家有所帮助。【推荐课程:MySQL教程】存储过程:存储过程指的是存储在数...

weixin_39928233的博客 908

[MySQL]存储过程

本篇文章阐述的原则是“以吾之理解,着重之阐述”,因此没有那么细致。 如果文中阐述不全或不对的,多多交流。 存储过程的细节很多,而在实际工作中又未必都能涉及这些细节,工作时间一长,就可能忘记,于是特来写这篇文章,既是为自己做个笔记,也是跟大家分享存储过程的学习和使用方法。 参考笔记三,P34.1、P3...

qq_35485206的博客 1420

mysql存储过程调试_MYSQL存储过程调试过程

mysql不像oracle有plsqldevelper工具用来调试存储过程,所以有几种简单的方式追踪执行过程:1、用一张临时表,记录调试过程;2、直接在存储过程中,增加select xxx,在控制台查看结果:3、把存储过程的sql复制到navicat查询中,然后SET @num使用自定义变量。实际应用场景是三种方法都会用到,结合不同的场景使用。方法1适用于有多条数据处理,处理结果无法通过变量来存储...

weixin_34954308的博客 3794

mysql open 存储过程_Mysql 存储过程

存储过程学习文章开始前,首先给出本文示例表allIntersection。本文中的示例是在Navicate for MySQL中进行的。一.存储过程的创建与调用1.基本语法及示例:创建存储过程的基本语法:Java代码 create procedure sp_name()begin………end调用此存储过程基本语法:Sql代码call sp_name();注意:存储过程名称后面必须加括号,哪怕该存...

weixin_35665984的博客 1479

mysql存储过程 类型_MySQL存储过程

TopNSD DBA2 DAY051 案例1:创建存储过程1.1 问题存储过程名称为p1功能显示user表中 shell是/bin/bash的用户个数调用存储过程p11.2 步骤实现此案例需要按照如下步骤进行。步骤一:存储过程基本使用1)创建存储过程mysql> delimiter // //定义定界符mysql> create procedure say() //sa...

weixin_32175667的博客 912

mysql 调用 存储过程_MySQL 存储过程的基本用法

我们大家都知道MySQL存储过程是从 MySQL 5.0 开始逐渐增加新的功能。存储过程在实际应用中也是优点大于缺点。不过最主要的还是执行效率和SQL 代码封装。特别是 SQL 代码封装功能,如果没有存储过程。在外部程序访问数据库时(例如 PHP),要组织很多 SQL 语句。特别是业务逻辑复杂的时候,一大堆的 SQL 和条件夹杂在 PHP 代码中,让人不寒而栗。现在有了 MySQL 存储过程,业务...

weixin_39724004的博客 1268
上一篇: 在phpmyadmin中创建存储过程并在php中调用
下一篇: php存储过程调用实例代码
KerNEL.AC.CN
博客等级 码龄15年 100粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值