mysql 存储过程和函数的区别

MySQL存储过程和函数区别 存储过程 存储过程介绍:存储过程就是一条或多条的SQL语句的集合,可以理解为批文件 存储程序:存储过程 和 函数 区别 存储过程和函数的区别: 本质上都是存储程序,函数只能通过return语句返回单个值或表对象,而存储过程不允许执行return语句,而且可以通过out参数返回多个值,函数不能用临时表,只能用变量,函数可以在sql语句中执行,而存储过程是独立的 创建存储过程:CREATE PROCE... 阅读详情


【存储过程的创建语法】
delimiter //    -- 声明分隔符(命令结束符)
create 
definer = user@hostname | current_user 
procedure 存储过程名 (参数)
comment '注释'
sql security definer | invoker   -- sql 的安全设置
begin
    存储过程的body
end
//
delimiter ;    -- 声明分隔符(命令结束符)
【函数的创建语句】
delimiter //    -- 声明分隔符(命令结束符)
create
definer = user@hostname | current_user
function 函数名(参数)
return 返回值类型
comment '注释'
sql security definer | invoker   -- sql 的安全设置
begin
    函数的body
end
//
delimiter ;    -- 声明分隔符(命令结束符)
1、存储过程实现的功能要复杂一点,函数实现的功能针对性比较强;
存储过程,功能强大,可以执行包括修改表等一系列数据库操作;
用户定义函数不能用于执行一组修改全局数据库状态的操作。
2、对于存储过程来说可以返回参数,如记录集,函数只能返回值或者表对象;
函数只能返回一个变量;而存储过程可以返回多个;
存储过程的参数可以有IN,OUT,INOUT三种类型,而函数必须指定返回值,且参数默认为IN类型;
存储过程声明时不需要返回类型,而函数声明时需要描述返回类型,且函数体中必须包含一个有效的RETURN语句。
3、存储过程,可以使用非确定函数,不允许在用户定义函数主体中内置非确定函数。
4、存储过程一般是作为一个独立的部分来执行( EXECUTE 语句执行),而函数可以作为查询语句的一个部分来调用(SELECT调用);
由于函数可以返回一个表对象,因此它可以在查询语句中位于FROM关键字的后面。 SQL语句中不可用存储过程,而可以使用函数。
调用方式:
函数 select my_fun() ;
过程 call my_pro( ) ;
5、DEMO

DELIMITER $$
DROP FUNCTION IF EXISTS my_fun$$
CREATE
    FUNCTION my_fun(a INT(2),b INT(2))
    RETURNS INT(4)
    BEGIN
    DECLARE sum_ INT(2) DEFAULT 0;
    SET sum_ = a + b;
    RETURN sum_;
    END$$
DELIMITER ;
DELIMITER $$

DROP PROCEDURE IF EXISTS my_pro$$
CREATE
    PROCEDURE my_pro(IN a INT(2),IN b INT(2) ,OUT c INT(2))
    BEGIN
    SET c = a + b;
    END$$
DELIMITER ;
6、调用

mysql> call my_pro(1,2,@c);
Query OK, 0 rows affected (0.00 sec)
mysql> select @c;

+------+
| @c   |
+------+
|    3 |
+------+
1 row in set (0.00 sec)
 mysql> select my_fun(1,2);
+-------------+
| my_fun(1,2) |
+-------------+
|           3 |
+-------------+
1 row in set (0.00 sec)
UE 顶点动画工具 (VAT) 导入模型需要勾选全精度UV。 阅读详情

相关推荐

Lumerical官方案例、FDTD时域有限差分法仿真学习(三)——环形谐振器(Ring resonator)之第一部分

环形谐振器教程的第 1 部分使用 MODE 来设计和仿真环形谐振器。 自由光谱范围 (FSR) 和品质因数 (Q 因数) 是这种面向片上通信应用的基于绝缘体上硅 (SOI) 波导设计的关键性能指标。

weixin_45719141的博客 3万+

mySQL教程 第7章 存储过程和函数

第7章 存储过程和函数 存储过程和存储函数 MySQL的存储过程(stored procedure)和函数(stored function)统称为stored routines。 1. MySQL存储过程和函数的区别 函数只能通过return语句返回单个值或者表对象。而存储过程不允许执行return,但是通过out参数返回多个值。 函数是可以嵌入在sql中使用的,可以在select中调用,...

weixin_33950035的博客 377

深入解析GEM5 McPAT NoC功耗模型:从arbiter电容计算到微架构关联

本文深入解析GEM5 McPAT NoC功耗模型,重点探讨arbiter电容计算与微架构的关联。通过拆解动态功耗公式和四类电容的物理本质,揭示能量与功率的转换关系,并提供参数调试和模型精度优化的实战技巧,帮助开发者更准确地预测和优化NoC功耗。

weixin_29305313的博客 201

【Mysql 存储过程 Or 存储函数 傻傻分不清? 】

mysql的存储过程 vs 存储函数

爱媳妇儿爱编程 4587

如何让 RTX 5090 开启 PCIE P2P 以加速多卡通信

RTX 5090 基于新的 Blackwell 架构。NVIDIA 出于对某些主板兼容性(如 IOMMU、Resizable BAR 策略)的保守考虑,**屏蔽了 5090 的 BAR1 P2P 功能**。 我们需要通过 Patch 驱动源码,强制开启这一隐藏功能。 开启 P2P 后,PyTorch 的集合通信算子(Multi-GPU 训练的核心)延迟显著降低,**All-Reduce 甚至降低了 60% 以上**。

Hi20240217的博客 1718

SAP物料分类账实战:从配置到月结的关键步骤(基于S/4HANA1909)

本文详细解析了在SAP S/4HANA 1909系统中,物料分类账从基础配置到月结操作的全流程。作为成本核算的核心,物料分类账通过多级价格确定实现实际成本核算,关键步骤包括激活物料分类账、配置自动过账科目(OBYC)、运行CKMLCP进行差异分摊与结算。文章旨在帮助财务与成本会计人员确保成本差异的准确归集与分摊,顺利完成月结。

weixin_28314575的博客 193

MySql中函数与存储区别

函数与存储过程的区别: 1、函数有且只有一个返回值,而存储过程不能有返回值。 2、函数只有输入参数,而存储过程可以有in,out,inout多个类型参数 3、存储过程中的语句功能丰富,实现更复杂的业务逻辑,而函数中国通常不会使用inser4、update,delete等语句,这是完成查询的工作,受输入参数并返回一个结果,功能针对性比较强 5、存储过程一般是作为一个独立的部分来执行(call调用)。而函数可以作为查询语句的一个部分来调用 存储过程的三个类型参数(三类形参): in 当变量在存储过程中改变的时

ǫɪ ԃα√‘的博客 1489

保姆级教程:用AdGuard DNS代理实现全设备广告过滤(含Win/Mac/安卓/iOS配置)

本文提供了一份详尽的AdGuard DNS代理配置指南,帮助用户在全设备(Win/Mac/安卓/iOS)上实现广告过滤。通过系统级DNS设置,AdGuard能有效拦截广告、跟踪器和恶意网站,提升隐私保护和浏览效率。教程涵盖原理说明、各平台配置步骤及高级优化技巧,适合不同技术水平的用户。

weixin_42656416的博客 818

存储过程与函数的区别

1、函数只能返回一个变量,而存储过程可以返回多个; 例如:函数可以嵌入sql中和存储过程中使用,但是存储过程需要让sql的query可以执行,将mysql_real_connect的最后一个参数设置为CLIENT_MULTI_STATEMENTS 2、函数的限制比较多,不能用临时表,只能用表变量,有些函数不能用,存储过程限制少; 3、存储过程处理的功能比较复杂,而函数实现的功能针对性强; 4、存储...

cjj476017086的博客 465

银河麒麟硬盘健康检测:smartctl/badblocks实战与坏盘预判

xfs_repair检查。S.M.A.R.T检测。

信创运维工程师 · 银河麒麟 & 容器实战 | 金融生产环境迁移·等保加固 | 142篇原创·17万+阅读 859

Zephyr内核——内存管理——内存堆

Zephyr提供了一组允许线程动态分配内存。

wayne2018的博客-心情驿站 771

mysql存储过程和存储函数

mysql存储过程和存储函数是将复杂sql集合在一起,应用程序只需调用即可,不必关注mysql存储过程和存储函数sql逻辑

程序员一博 1192

uniapp - 解决 uni.chooseImage 在苹果 IOS 真机上点击没反应的问题,苹果手机点击 uni.chooseImage方法不生效,也不报任何错误(解决苹果ios系统点击无效问题)

uniapp小程序h5网页苹果ios系统点击uni.chooseImage不执行点击无效,uniapp使用uni.chooseImage方法点击没反应怎么办,uniappuni.chooseImage在ios苹果手机运行点击不触发,uniappuni.chooseImage苹果ios系统点击无效,uniapp项目ios端云打包之后uni.chooseImage不生效了,uniapp打包之后uni.chooseImage()无法打开相机,uniapp苹果手机无法打开相机和相册,uniapp网页h5微信支

🏆 前端领域优质创作者 1万+

Mysql 存储过程和函数区别

这里写目录标题一级目录二级目录三级目录 一级目录 二级目录 三级目录

weixin_45853783的博客 1993

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

MySQL中存储过程和函数的区别

函数 = 返回一个值,用于查询中;存储过程 = 封装逻辑流程,可传出多个结果。如果你告诉我你现在在做什么项目,我可以帮你判断是用函数合适,还是存储过程更好 👍你也可以说一下想封装什么样的逻辑,我可以直接写出来对比给你看。

鸟人的博客 741

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

mysql存储过程和存储函数的区别

存储函数是一组为了完成特定功能的SQL语句集,但功能相对单一,针对性强。通常用于执行计算并返回结果,例如计算某些值或处理数据。存储过程也是一组预编译的SQL语句集,但功能更为复杂和多样。通常用于执行一系列操作,可能包括查询、更新、删除等,也可以包含流程控制逻辑。

Wgq0731的博客 775

Statistics and Machine Learning Toolbox

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

浅谈 sqlserver 和 mysql存储过程、函数的区别

公司之前用的是windows服务器,数据库也是sqlserver,现在说微软东西太贵了,要转向linux + mysql,但这之前先要测试一下性能,看怎么样的服务器才能满级要求,首先是数 据库服务器。我之前对数据库也就只会select、insert,趁此机会学习 给了一些sqlserver的测试表, CREATE TABLE [dbo].[mytest]( [id] [bigint] ID

繁华落尽梦一场 2745

MySQL(173)MySQL中的存储过程和函数有什么区别?

MySQL存储过程和函数是两种封装SQL代码的机制,主要区别在于:存储过程通过CALL调用,可使用OUT参数返回结果,适合执行多步操作;函数必须返回单一值,可直接嵌入SQL语句中调用。文章提供了创建存储过程(计算两数之和)和函数(计算两数乘积)的示例代码,并演示了如何通过Java程序调用它们。存储过程更适合复杂业务逻辑,而函数则便于在SQL查询中直接使用,两者结合能提升数据库操作的效率和可维护性。

qq_43012298的博客 639

MySQL的存储过程和存储函数(UDF)的区别

MySQL存储过程/存储过程与自定义函数的区别 语法: 创建存储过程: CREATE [definer = {user|current_user}] PROCEDURE sp_name ([ proc_parameter [,proc_parameter ...]]) [ characteristics..] routime_body 其中: proc_paramet

YQlakers的博客 1676

mysql 过程 的函数的区别是什么意思_Mysql中存储过程和函数的区别是什么

Mysql中存储过程和函数的区别是什么发布时间:2020-12-03 10:01:49来源:亿速云阅读:105作者:小新这篇文章主要介绍了Mysql中存储过程和函数的区别是什么,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。数据库设计三范式:第一范式:数据库表的每一列都是不可分割的原子数据项,即列不可拆分。第二范式:建立在第一范式的基础上...

weixin_30647853的博客 274

mysql 自定义函数function,函数和存储过程的区别

1.MySQL自定义函数简介  在MySQL中使用自定义函数也需要相应的要求,语法如下,  创建新函数:    Create function function_name(参数列表)    returns返回值类型    函数体内容  相关说明,函数名:应该合法的标识符,并且不应该与已有的关键字冲突。一个函数应该属于某数据库,可以使用db_name.funciton_name的形式执行当前函数所属...

Meiko记录 4771

mysql 函数 和 存储过程的区别_数据库系列之mysql 自定义函数function,函数和存储过程的区别...

mysql 自定义函数function,函数和存储过程的区别https://blog.csdn.net/u010365819/article/details/80470448https://blog.csdn.net/mengzuchao/article/details/80686792https://www.cnblogs.com/progor/p/8871480.htmlhttps://blo...

weixin_42312133的博客 250

Mysql的存储过程、存储函数和触发器的区别

Mysql的存储过程存储过程的基本概念优点缺点使用场景存储函数的基本概念存储过程与存储函数的区别触发器的基本概念存储过程与触发器的区别 存储过程的基本概念 MySQL 5.0 版本开始支持存储过程。 存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。 存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过...

日积跬步 916

Mysql的函数和存储过程的区别

存储过程和函数:类似于java中的方法. 相同点: 含义:一组预先编译好的SQL语句的集合,理解成批处理语句 1、提高代码的重用性 2、简化操作 3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率 区别: 存储过程(procedure):可以有0个返回,也可以有多个返回,适合做批量插入、批量更新 函数(function):有且仅有1 个返回,适合做处理数据后返回一个结果(return) 目录 函数的使用 存储过程的使用 函数的使用 #一、创建语法 CREATE FUN..

一蓑烟雨任平生 1315

Mysql存储过程和函数区别介绍

存储存储过程 是一段代码(过程),存储在数据库中的SQL组成。一个存储过程通常用于完成一段业务逻辑,例如报名,交班费,订单入库等。 而一个函数通常专注与某个功能,视为其他程序服务的,需要在其他语句中调用函数才可以,而存储过程不能被其他调用,是自己执行 通过call执行。 存储过程和函数都是属于某个数据库。 存储 创建无参存储过程: delimiter $$ CREATE PROCEDURE sho...

大漠雁 8799

mysql 中函数和存储过程的区别和联系

怎么查询,怎样写sql在sql 语句中判断不能用 == ,要用  =  就行了 ,赋值 用 := 函数  和 储存过程的相同点 和不同点:函数的创建:函数只能在指定数据库中用。 和存储方法一样delimiter $$create function 函数名称(参数列表) returns 返回类型beginsql语句end$$delimiter ;调用:select 函数名(参数列表) 删除函数:dr...

wys578的博客 9866
上一篇: PyCharm2017.2.3安装模板库
下一篇: mysql 自增步长设置
Yaroo
博客等级 码龄11年 88粉丝 115原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值