mysql数据存储和函数_MySQL数据库——存储和函数

一、存储过程

1 基本语法

CREATE PROCEDURE sp_name ([proc_parameter[,...]])

[characteristic ...] routine_body

格式[IN|OUT|INOUT]param_name type

2. IN、OUT、INOUT参数

(1)带84存储过程实例

48304ba5e6f9fe08f3fa1abda7d326ab.png

1 #带多重IF的存储过程2 CREATE PROCEDURE SP_SGRADE_LEVEL(IN p_level char(48304ba5e6f9fe08f3fa1abda7d326ab.png

Repeat语句语法格式

[begin_label:]

repeat

Statement_list

Until search_condition

End repeat

[end_label]

Repeat语句首先执行statement_list中的语句,然后判断条件search_condition是否为真,倘若为真,则结束循环,若不为真,继续循环。

Repeat先执行后判断,while先判断后执行。

使用范例:

48304ba5e6f9fe08f3fa1abda7d326ab.png

1 #带repeat的存储过程2 CREATE PROCEDURE sp_cal2(IN p_num INT,OUT p_result INT)3 BEGIN 4 SET p_result=1;5 REPEAT6 SET p_result = p_num *p_result;7 SET p_num = p_num-1;8 UNTIL p_num<=1 9 ENDREPEAT;10 END

48304ba5e6f9fe08f3fa1abda7d326ab.png

5.调用存储过程

Call sp_name([parameter[,…]]);

Sp_name被调用存储过程的名称

Parameter:指定调用存储过程所要使用的参数。

6.修改存储过程

代码如下:

Alter procedure proc_name[characteristic…]

只能修改存储过程的特征,如果要修改存储过程的内容,可以先删除该存储过程,然后再重新创建

7.删除存储过程

代码如下:

Drop procedure [if exists] sp_name;

二、函数

1. 定义

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

CREATE FUNCTION sp_name([func_parameter[,...]])

RETURNS type

[characteristic ...] routine_body

Return

调用存储函数

Select sp_name([func_parameter…])

Select fn_search(2);

2.存储过程和函数区别

1)一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。存储过程,功能强大,可以执行包括修改表等一系列数据库操作;用户定义函数不能用于执行一组修改全局数据库状态的操作。

2)对于存储过程来说可以返回参数,如记录集,而函数只能返回值或者表对象。函数只能返回一个变量;而存储过程可以返回多个。存储过程的参数可以有IN,OUT,INOUT三种类型,而函数只能有IN类~~存储过程声明时不需要返回类型,而函数声明时需要描述返回类型,且函数体中必须包含一个有效的RETURN语句。

3)存储过程,可以使用非确定函数,不允许在用户定义函数主体中内置非确定函数。

4)存储过程一般是作为一个独立的部分来执行( EXECUTE 语句执行),而函数可以作%

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/550068.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Salesforce中创建Approval Process

在Salesforce中可以创建Approval Process来实现审批流程的功能&#xff0c;实际功能与我们常说的Workflow很相似&#xff0c;具体的设置步骤如下所示 1&#xff09;&#xff1a;选择对应的Object去创建对应的Approval Process 2&#xff09;&#xff1a;点击下图中的Create New…

Python 运算符括号

转载于:https://www.cnblogs.com/fanweisheng/p/11236193.html

计算机二级java试题_计算机二级考试《Java》试题及答案

计算机二级考试《Java》试题及答案选择题(每小题2分&#xff0c;共50分)下列各题A、B、C、D、 四个选项中&#xff0c;只有一个选项是正确的&#xff0c;请将正确选项涂写在答题卡相应的位置上&#xff0c;答在试卷上不得分。(11)下列对Java语言的叙述中&#xff0c;错误的是()…

绕过waf mysql爆库_iwebsec刷题记录-SQL注入漏洞

被推荐了这个web平台&#xff0c;感觉挺适合新手的&#xff0c;网上搜了下没看到有人写wp&#xff0c;这里本入门萌新来稍微整理下自己解题的过程SQL注入漏洞01-数字型注入http://localhost:32774/sqli/01.php?id1发现有报错You have an error in your SQL syntax; check the …

【Vue】组件的基础与组件间通信

转载&#xff1a;https://segmentfault.com/a/1190000016409329 Vue.js 最核心的功能就是组件&#xff08;Component&#xff09;&#xff0c;从组件的构建、注册到组件间通信&#xff0c;Vue 2.x 提供了更多方式&#xff0c;让我们更灵活地使用组件来实现不同需求。 一、构建组…

设计模式的功力长了!

今天醒来后&#xff0c;感觉理解了原来比较复杂的一些设计模式&#xff0c;很好&#xff0c;就像小时候感觉长高一样。学习设计模式有一年多了。进步需要时间&#xff01;

java 验证码校验_JavaWeb验证码校验功能代码实例

后台生成验证码工具方法/** 设置图片的背景色*/public static void setBackGround(Graphics g, int WIDTH, int HEIGHT) {// 设置颜色g.setColor(Color.WHITE);// 填充区域g.fillRect(0, 0, WIDTH, HEIGHT);}/** 设置图片的边框*/public static void setBorder(Graphics g, int…

CSDN登陆校验码模式识别程序

下班后&#xff0c;吃饭前快速写了这么一个东西&#xff0c;以证明图片验证码的脆弱。防君子&#xff0c;不防XX。本来应该使用HTTP协议直接从CSDN的登陆页面DOWN校验图片的&#xff0c;因为时间仓促&#xff0c;所以没有仔细设计。只是做一个示例&#xff0c;还要麻烦大家手工…

关于异性朋友

听到别人在问一个问题&#xff1a;“可是你在大学里又有几个很要好的女性朋友&#xff1f;”   想到自己&#xff0c;却是一个没有。奇怪啊&#xff0c;我虽然木讷&#xff0c;但还不到白痴的地步&#xff0c;怎么会一个没有呢&#xff1f;思讨一下&#xff0c;明白了&#…

java全文检索工具_全文检索工具elasticsearch:第三章: Java程序中的应用

搭建模块创建二个项目gmall-list-service的appliction.properties:server.port8073spring.datasource.urljdbc:mysql://localhost:3306/gmall?characterEncodingUTF-8spring.datasource.usernamerootspring.datasource.passwordrootmybatis.configuration.map-underscore-to-c…

初探机器学习之使用百度EasyDL定制化模型

一、Why 定制化模型 一般来说&#xff0c;各大云服务厂商只会提供一些最常见通用的AI服务&#xff0c;针对具体场景的AI应用则需要在云服务厂商提供的服务之上进行定制。例如&#xff0c;通常的图像识别只能做到分析照片的主题内容&#xff0c;而我的需求是给定指定场景的图片&…

Microsoft SQL Server Desktop Engine安装过程中遇到的问题(2)

今天下午没课&#xff0c;又在玩电脑了&#xff0c;想起昨天没解决的问题&#xff0c;心里有点不爽&#xff0c;遇到问题就要解决嘛^_^。 我把昨天装的study实例卸载了&#xff0c;仔细研究了一下自述文件&#xff0c;按照里面的说明&#xff0c;我在C盘根目录新建了一个名为 M…

微享:快速分享网页到新浪微博

分享到新浪微博 *:博客园的编辑程序会自动给javascript的链接加上前缀&#xff0c;使得链接错误。版本&#xff1a;&#xff11;.0 简介&#xff1a; 书签栏工具&#xff0c;javascript代码&#xff0c;用于分享网页内容到新浪微博。 安装&#xff1a;Firefox&#xff0c;safa…

java重命名package_AndroidStudio怎么重命名java目录下的包名(如cn.zsn.app)

【声明&#xff1a;】本文是作者(蘑菇v5)原创&#xff0c;版权归作者 蘑菇v5所有&#xff0c;侵权必究。本文首发在简书。如若转发&#xff0c;请注明作者和来源地址&#xff01;未经授权&#xff0c;严禁私自转载&#xff01;区分包名和applicationid的区别&#xff1a;这里的…

java in thread main_JAVA报错:Exception in thread main……求帮助?

问题描述:题目要求&#xff1a;(1)创建MaxArray类&#xff1a;声明1个一维数组的成员变量&#xff0c;例如&#xff1a;int array[ ]; //一维数组设置有参构造方法&#xff0c;如&#xff1a;MaxArray(int n){ …… } //有参构造方法&#xff0c;为成员变量创建长为n的一维数组…

[ZZ]MVC设计模式

1 前言   用户界面&#xff0c;特别是图形用户界面&#xff0c;承担着向用户显示问题模型和与用户进行操作和I/O交互的作用。用户希望保持交互操作界面的相对稳定&#xff0c;但更希 望根据需要改变和调整显示的内容和形式。例如&#xff0c;要求支持不同的界面标准或得到不同…

2019.7.25

T1.匹配 一看就是KMP的嘛&#xff0c;但是忘了。 啊&#xff0c;要背模板的啦&#xff01; 啊&#xff1f;&#xff01;暴力72分&#xff1f;&#xff01;&#xff1f;&#xff01;&#xff1f;&#xff01; Get! 正解就是一般的KMP&#xff0c;把a串与b串接起来&#xf…

gentoo安装记录[20050216]

原作者: * 20050216: 我明天 (17 号) 要去武汉陪 gf 几天, 顺便找找工作 (如果你有武汉的工作信息, 记得一定给我发信或者直接联系我! 非常非常感谢先!!), 可能有几天上不来了, 所以赶紧把这帖子搞定啦! 大家有啥想法/意见的就跟帖提, 我回来改 * 20050215: 完成内核安装/内核…

注册Windows Phone Marketplace经验

简介 经过漫长漫长的等待以后&#xff0c;终于注册成功Windows Phone Marketplace&#xff0c;把经验分享一下。 登记注册 打开https://windowsphone.create.msdn.com/Register/ &#xff0c;使用live id&#xff08;msn id&#xff09;登陆&#xff0c;然后按照向导一步步注册…

iOS应用日志:开始编写日志组件与异常日志

经营你的iOS应用日志&#xff08;一&#xff09;&#xff1a;开始编写日志组件 对于那些做后端开发的工程师来说&#xff0c;看LOG解Bug应该是理所当然的事&#xff0c;但我接触到的移动应用开发的工程师里面&#xff0c;很多人并没有这个意识&#xff0c;查Bug时总是一遍一遍的…