SQL自定义函数

存储函数和存储过程统称为存储例程(store routine),存储函数的限制比较多,
例如不能用临时表,只能用表变量,而存储过程的限制较少,存储过程的实现功能要复杂些,
而函数的实现功能针对性比较强

存储过程和函数的区别:

一、 存储函数有且只有一个返回值,而存储过程不能有返回值,但可以利用输出参数带回值

二、 函数只能有输入参数,而且不能带in, 而存储过程可以有多个in,out,inout参数。

三、存储过程中的语句功能更强大,存储过程可以实现很复杂的业务逻辑,
而函数有很多限制,如不能在函数中使用insert,update,delete,create等语句;
存储函数只完成查询的工作,可接受输入参数并返回一个结果,
也就是函数实现的功能针对性比较强。

四、 存储过程可以调用存储函数。但函数不能调用存储过程。

五、 存储过程一般是作为一个独立的部分来执行(call调用)。而函数可以作为查询语句的一个部分来调用。

create procedure sp_pro3(typeid int ,out mycount int )
BEGIN

if typeid=1 THEN
select count() into mycount from score where cid=’01’ and mark>90;
elseif typeid=2 THEN
select count(
) into mycount from score where cid=’02’ and mark>90;
end if;
end;

create function fun(typeid int)
returns INT
BEGIN
declare x int;
if typeid=1 THEN
select count() into x from score where cid=’01’ and mark>90;
elseif typeid=2 THEN
select count(
) into x from score where cid=’02’ and mark>90;
end if;
return x;
end;

select fun(2)

Original: https://www.cnblogs.com/daimenglaoshi/p/16867918.html
Author: 呆萌老师
Title: SQL自定义函数

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/714343/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • elementui中的el-table,(prop对应多个属性)中拼接两个列表字段并展示

    elementui中的el-table,(prop对应多个属性)中拼接两个列表字段并展示 {{ scope.row.pa_dt_name }}|{{ scope.row.pa_du…

    技术杂谈 2023年7月10日
    081
  • manim 3.0优化

    1、注意不要在物体变换之后再添加其他相关物体,这样物体的初始化会在动画部分的后面 2、动画实现过程最主要还是物体的初始化,所以可以将动画部分和查看物体初始化部分分开(即将动画部分放…

    技术杂谈 2023年7月24日
    069
  • 关于程序员成长的一些思考

    任何一名技术大神都是从小菜鸟开始的,这应该无一例外。当然,有的人成长的快,有的人成长得慢,有的人坚持下来,有的人半途而废。如果我们在成长的过程中能掌握一些方法,也许能少走一些弯路。…

    技术杂谈 2023年7月11日
    086
  • 物联网?快来看 Arduino 上云啦

    作者:HelloGitHub- Anthony 这里是 HelloGitHub 推出的讲解开源硬件开发平台 Arduino 的系列教程。 第一篇:Arduino 介绍和开发环境搭建…

    技术杂谈 2023年6月1日
    079
  • swing监听器常用方法

    java Swing事件监听器 动作事件监听器ActionListener 添加/删除方法 addActionListener()、removeActionListener() 接…

    技术杂谈 2023年7月24日
    049
  • 论文中如何描述系统

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/hxsyl/p/6512794.htmlAuthor: …

    技术杂谈 2023年5月31日
    095
  • Nginx—location配置

    Nginx—location配置 编辑nginx.conf文件 #user nobody; worker_processes 1; #error_log logs/error.lo…

    技术杂谈 2023年7月11日
    068
  • DataTable转List<dynamic>

    DataTable转List 最近做的一个项目,MVC+Ado.net。没有ORM很不习惯。找到一个办法,DataTable转List 有过滤字段,和反转过滤字段。 csharp;…

    技术杂谈 2023年5月31日
    069
  • PowerBI发布到网页

    如果网页当中需要嵌入PowerBI的报表,可以在PowerBI当中生成链接,然后网页或者博客当中插入这一段html代码。 以下是PowerBI生产网页链接的示例,并且在博客的最后也…

    技术杂谈 2023年5月31日
    0147
  • 多带小孩去的地方

    科技、人文、艺术、博物、航空、航海、图书、高等学校等地 四川 成都博物馆 分南楼和北楼。位于天府广场西侧,与四川省图书馆、四川美术馆、四川科技馆、锦城艺术宫等建筑毗邻。 四川博物院…

    技术杂谈 2023年6月1日
    067
  • Dapr 不是服务网格,只是我长的和他很像

    Dapr 是一种旨在”促进微服务本身的开发”的产品,而不是 Service Mesh。 但是,Dapr 有一些类似于服务网格的特性,例如分布式跟踪。 由于上…

    技术杂谈 2023年5月30日
    080
  • WIN10系统提示无法使用内置管理员账户打开XXX应用程序怎么办

    重装了系统之后,只保留Administrator账户,结果打开程序的时候回弹出这个提示 运行,输入secpol.msc 本地策略-安全选项,启用下面这个,然后重启计算机 Origi…

    技术杂谈 2023年5月31日
    078
  • 常见题目

    这几天有朋友反映给小编说让多发点关于面试的文章,小编深知从事IT行业的难处,跳槽多,加班多,薪资不乐观,大多数朋友都想找新的工作,进入一个好的公司,今天小编就给大家带来了C语言面试…

    技术杂谈 2023年6月21日
    083
  • 23种设计模式之命令模式和策略模式的区别

    命令模式和 策略模式确实很相似,只是命令模式多了一个接收者(Receiver)角色。它们虽然同为行为类模式,但是两者的区别还是很明显的。策略模式的意图是封装算法,它认为&#8221…

    技术杂谈 2023年7月24日
    065
  • Appium知多少

    Appium我想大家都不陌生,这是主流的移动自动化工具,但你对它真的了解么?为什么很多同学搭建环境时碰到各种问题也而不知该如何解决。 appium为什么英语词典查不到中文含义? a…

    技术杂谈 2023年5月31日
    083
  • TOGAF认证课程,作为讲师我有话说

    来IT帮认证的学员越来越多,每一期总有学员问我”周老师,为什么别人是4天,你这边是2天呢?”我想在这里统一说一下我对TOGAF认证课程的思考。 一. 现状 …

    技术杂谈 2023年5月31日
    070
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球