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都有哪些包装_Python基础:21包装

“包装”在Python 编程中经常会被提到的一个术语。意思是对一个已存在的对象进行包装&#xff0c;可以是对一个已存在的对象&#xff0c;增加&#xff0c;删除&#xff0c;或者修改功能。可以包装任何类型(type)作为一个类(class)的核心成员&#xff0c;以使新对象的行为模仿你…

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;错误的是()…

CanvasRenderingContext2D.fillText(text, x, y [, maxWidth]);

CanvasRenderingContext2D.fillText(text, x, y [, maxWidth]); [, maxWidth]的意思是&#xff0c;方括号代表可有可无&#xff0c;有fillText(text, x, y [, maxWidth])和fillText(text, x, y )2种形式https://www.zhangxinxu.com/wordpress/2018/02/canvas-text-break-line-l…

在.NET里用XSLT时怎么使用msxsl:script

来源&#xff1a;在.NET里用XSLT时怎么使用msxsl:script &#xff08;思归呓语&#xff09; 今天在CSDN论坛上看到一个网友在请教关于msxsl:script的用法。感觉这问题也许有点意思&#xff0c;所以在下面简述一下。 在MSXML里&#xff0c;你在msxsl:script里可以使用Javascript…

绕过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;让我们更灵活地使用组件来实现不同需求。 一、构建组…

java 自定义map_自定义写实现java中map中的功能(简易)

package test;/*** 通过自定义来实现一个map功能* 存放键值对&#xff0c;根据键对象找到一个值对象&#xff0c;确保没有重复*/import java.util.Map;public class test01 {SxtEntry[] arrnew SxtEntry[990];int size;//定义函数实现将键值对放入数组public void put(Object k…

设计模式的功力长了!

今天醒来后&#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…

如何做不浮躁的人

51CTO著名专家老刘&#xff0c;连发了两篇博文&#xff0c;老刘的博客http://2844337.blog.51cto.com/ 都是劝谏我们年轻人不要浮躁。两篇文章用故事教育我们一定不要浮躁&#xff0c;但是如何做到不浮躁&#xff0c;老刘没有说。我想借着这个主题&#xff0c;简单谈一下自己的…

hasset java_java HashSet的使用

今天在写代码时想要使用HashSet&#xff0c;由于之前并不了解&#xff0c;就在网上查了一下原理及使用方法。HashSet原理该类实现了Set接口&#xff0c;HashSet中不允许元素重复&#xff0c;不保证集合中元素的顺序&#xff0c;元素可为null&#xff0c;但最多只能一个。对于 H…

Oracle tips

存储过程无法编译和抛掉&#xff01;&#xff01;我在一个项目组中与同事一起开发存储过程&#xff0c;碰到过其他人在调试存储过程时&#xff0c;我无法编译同一个存储过程的问题。但是&#xff0c;现在我使用pl/sql dev将其他的进程都杀掉后&#xff0d;&#xff0d;包括在调…

TCP拥塞控制机制

为了防止网络的拥塞现象&#xff0c;TCP提出了一系列的拥塞控制机制。最初由V. Jacobson在1988年的论文中提出的TCP的拥塞控制由“慢启动(Slow start)”和“拥塞避免(Congestion avoidance)”组成&#xff0c;后来TCP Reno版本中又针对性的加入了“快速重传(Fast retransmit)”…

java中类似sort_java中的Sort函数,你值得看

基于C语言中的sort如此这么方便&#xff0c;自然而然&#xff0c;java中也有类似C的sort函数。1.普通数组&#xff1a;Arrays.sort(数组名&#xff0c;开始位置&#xff0c;结束位置)。2.类中属性排序&#xff1a;模板&#xff1a;class A{int n;}class cmp implement Comparat…

明天启程去北京:)

去北京参加为期5天的微软sps培训&#xff0c;公司穷呀&#xff0c;所以只能做火车去了&#xff0c;17日下午到达北京&#xff0c;18日&#xff0d;22日5天培训&#xff0c;23日到青岛&#xff0c;呆两三天然后26日下午回家&#xff1a;&#xff09;有北京和青岛的朋友可以联系我…

多线程java 银行_Java 多线程 之 银行ATM实例

package com.thread;import java.util.Scanner;public class TestBank {public static void main(String[] args) {Bank bank new Bank();Thread lingming new Thread(bank, "李明");Thread wangtao new Thread(bank, "王涛");lingming.start();try {Th…

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

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

C语言中整形数组、字符数组、字符串的区别

一、 第一 整型数组的存放&#xff0c;数组最后是不加\0的&#xff0c;字符串会自动加上&#xff0c;因此存放字符的时候数组的大小要比实际字符的多一个 第二 整型数组 每一个单元是4个字节的&#xff0c;字符串是一个一个字符存放的&#xff0c;每个字符占一个 二&#xff0c…