数据库学习笔记(十三)---存储过程
前言:
- 学习和使用数据库可以说是程序员必须具备能力,这里将更新关于MYSQL的使用讲解,大概应该会更新30篇+,涵盖入门、进阶、高级(一些原理分析);
- 这一篇存储过程,下一篇是存储函数;
- 虽然MYSQL命令很多,但是自己去多敲一点,到后面忘记了,查一下就可以回忆起来使用了;
- 这一系列也是本人学习MYSQL做的笔记,也是为了方便后面忘记查询;
- 参考资料:黑马、csdn和知乎博客;
- 欢迎收藏 + 关注,本人将会持续更新后端和AI算法的学习笔记。
文章目录
- 存储过程
- 1. 存储过程概述
- 1.1概念
- 2. 创建存储过程
- 2.1 语法分析
- 2.2 代码举例
- 3. 调用存储过程
- 3.1 调用格式
- 3.2 代码举例
存储过程
MySql从5.0版本开始支持存储过程和函数,存储过程和函数能够将复杂的SQL逻辑封装在一起,应用程序无须关注存储过程和函数内部复杂的SQL逻辑,而只需要简单地调用存储过程和函数即可。
1. 存储过程概述
1.1概念
存储过程(Stroed Procedure),它的思想很简单,他就是一组经过预先编译的SQL语句的封装,类似以函数,但是他是封装在服务器上的。
需要执行的时候,客户端只需要向服务器发出调用存储过程的命令,服务器就可以把预先存储好的这一系列SQL语句全部执行。
好处:
- 简化操作,提高了SQL语句的重用性,减少了开发程序员的压力
- 减少操作过程中的失误,提高效率
- 减少网络传输量(客户端不需要把所有的SQL语句通过网络发送给服务器)
- 减少了SQL语句暴露在网上的风险,也提高了数据查询的安全性
2. 创建存储过程
2.1 语法分析
CREATE PROCEDURE [IF NOT EXISTS] 存储过程名([IN|OUT|INOUT 参数名 参数类型,...])
[characteristics ...]
BEGIN存储过程体
END
存储过程名不能与已经存在的存储过程名重名。推荐存储过程名命名为procedure_xxx 或者 proc_xxx。
参数分类
存储过程的参数可以是IN、OUT、INOUT。
- IN 表示传入参数
- OUT 表示传出参数
- INOUT 表示即可以传入也可以传出
- 也可以不写参数
- 也可以多多个不同类型的参数
charcateristics可选参数为:
LANGUAGE SQL
| [NOT] DETERMINISTTIC
| {CONTAINS SQL|NO SQL|READS SQL DATA|MODIFIES SQL DATA}
| SQL DECURITY {DEFINER|INVOKER}
| COMMENT 'string'
LANGUAGE SQL
:说明存储过程执行体是由SQL语句组成的,当前系统支持的语言为SQL。[NOT] DETERMINISTIC
:指明存储过程执行的结果是否确定。DETERMINISTIC表示结果是确定的。每次执行存储过程时,相同的输入会得到相同的输出。NOT DETERMINISTIC表示结果是不确定的,相同的输入可能得到不同的输出。如果没有指定任意一个值,默认为NOT DETERMINISTIC。{ CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
:指明子程序使用SQL语句的限制。- CONTAINS SQL表示当前存储过程的子程序包含SQL语句,但是并不包含读写数据的SQL语句;
- NO SQL表示当前存储过程的子程序中不包含任何SQL语句;
- READS SQL DATA表示当前存储过程的子程序中包含读数据的SQL语句;
- MODIFIES SQL DATA表示当前存储过程的子程序中包含写数据的SQL语句。
- 默认情况下,系统会指定为CONTAINS SQL。
SQL SECURITY {DEFINER | INVOKER}
:执行当前存储过程的权限,即指明哪些用户能够执行当前存储过程。DEFINER
表示只有当前存储过程的创建者或者定义者才能执行当前存储过程;INVOKER
表示拥有当前存储过程的访问权限的用户能够执行当前存储过程。- 如果没有设置相关的值,则MySQL默认指定值为DEFINER。
COMMENT 'string'
注释信息,可以用来描述存储过程。
4、存储过程体中可以有多条 SQL 语句,如果仅仅一条SQL 语句,则可以省略 BEGIN 和 END
编写存储过程并不是一件简单的事情,可能存储过程中需要复杂的 SQL 语句。
BEGIN ... END :中间包含了多个语句,每个语句都以(;)号为结束符。
DECLARE:DECLARE 用来声明变量,使用的位置在于 BEGIN ... END 语句中间,而且需要在其他语句使用之前进行变量的声明。
SET:赋值语句,用于对变量进行赋值。
SELECT… INTO:把从数据表中查询的结果存放到变量中,也就是为变量赋值。
5、需要设置新的结束标记
DELIMITER 新的结束标记
因为MySQL默认的语句结束符号为分号‘;’。为了避免与存储过程中SQL语句结束符相冲突,需要使DELIMITER改变存储过程的结束符,具体看代码即可.
当使用DELIMITER命令时,应该避免使用反斜杠(‘\’)字符,因为反斜线是MySQL的转义字符。
DELIMITER $CREATE PROCEDURE 存储过程名(IN|OUT|INOUT 参数名 参数类型,...)
[characteristics ...]
BEGINsql语句1; sql语句2;END $
DELIMITER;
2.2 代码举例
- 创建存储过程proc_show_emps(),查看 emps 表的所有数据
DELIMITER $
CREATE PROCEDURE proc_show_emps()
BEGINSELECT * FROM emps;
END $
DELIMITER ;
- 创建存储过程proc_emps_avgsal(),查看所有员工的平均工资
DELIMITER //CREATE PROCEDURE proc_emps_avgsal()
BEGINSELECT AVG(sal) AS avg_sal FROM emps;
END //DELIMITER ;
- 创建存储过程proc_emps_maxsal(),用来查看“emps”表的最高薪资值。
CREATE PROCEDURE proc_emps_maxsal()
LANGUAGE SQL
NOT DETERMINISTIC CONTAINS SQL
SQL SECURITY DEFINER
COMMENT '查看最高薪资'
BEGINSELECT MAX(sal) FROM emps;
END //DELIMITER ;
- 创建存储过程proc_emps_minsal(),查看“emps”表的最低薪资值。并将最低薪资通过OUT参数“ms” 输出
DELIMITER //CREATE PROCEDURE proc_emps_minsal(OUT minsal DOUBLE)
BEGINSELECT MIN(sal) INTO minsal FROM emps;
END //DELIMITER ;
#调用方式,会自动创建变量
CALL proc_emps_minsal(@minsal);
SELECT @minsal;
- 创建存储过程proc_someone_sal(),查看“emps”表的某个员工的薪资,并用IN参数empname 输入员工姓名。
DELIMITER //CREATE PROCEDURE proc_someone_sal(IN empname VARCHAR(20))
BEGINSELECT sal FROM emps WHERE ename = empname;
END //DELIMITER ;#调用方式1
CALL proc_someone_sal('WARD');
#调用方式2
SET @empname = 'WARD';
CALL proc_someone_sal(@empname); #调用变量的时候,最好加个@
- 创建存储过程proc_someone_sal2(),查看“emps”表的某个员工的薪资,并用IN参数empname 传入员工姓名,用OUT参数empsal传出员工薪资。
DELIMITER //CREATE PROCEDURE proc_someone_sal2(IN empname VARCHAR(20),OUT empsal DOUBLE)
BEGINSELECT salary INTO empsal FROM emps WHERE ename = empname;
END //DELIMITER ;
- 创建存储过程proc_show_mgr_name(),查询某个员工领导的姓名,并用INOUT参数“empname”输入员工姓名,直接输出领导的姓名。
DELIMITER //CREATE PROCEDURE show_mgr_name(INOUT empname VARCHAR(20))
BEGINSELECT ename INTO empname FROM empsWHERE empno = (SELECT mgr FROM emps WHERE ename=empname);
END //DELIMITER ;
3. 调用存储过程
3.1 调用格式
存储过程有多种调用方法。存储过程必须使用CALL语句调用,并且存储过程和数据库相关,如果要执行 其他数据库中的存储过程,需要指定数据库名称,例如CALL dbname.procname。
CALL 存储过程名(实参列表)
格式:
1、调用IN模式参数:
CALL proc_show('值')
2、调用OUT模式参数:
CALL proc_show(@name);
SELECT @name;
3、调用INOUT模式参数:
SET @name=值;
CALL proc_show(@name);
SELECT @name;
3.2 代码举例
**举例:**传入指定的部门编号,返回该部门人数
DELIMITER //CREATE PROCEDURE proc_count(IN dno INT,OUT num INT)
BEGINSELECT COUNT(*) INTO num FROM emps WHERE deptno = dno;
END //DELIMITER ;
调用及查看结果:
SET @cnt;
CALL proc_count(20,@cnt);
SELECT @cnt;
相关文章:
数据库学习笔记(十三)---存储过程
前言: 学习和使用数据库可以说是程序员必须具备能力,这里将更新关于MYSQL的使用讲解,大概应该会更新30篇,涵盖入门、进阶、高级(一些原理分析);这一篇存储过程,下一篇是存储函数;虽然MYSQL命令很多,但是自…...
JWT(JSON Web Token)源码分析
Java - JWT的简单介绍和使用 Java JWT:原理、机制及案例示范 什么是JWT? 1.1 JWT的基本概念 JWT(JSON Web Token)是一种用于在各方之间传递JSON格式信息的紧凑、URL安全的令牌(Token)。JWT的主要作用是验…...
Vue 3 中通过 createApp 创建的 app 实例的所有核心方法,包含完整示例、使用说明及对比表格
以下是 Vue 3 中通过 createApp 创建的 app 实例的所有核心方法,包含完整示例、使用说明及对比表格: 1. app.component() 作用:注册全局组件 参数: name:组件名称(字符串)componentÿ…...
Hadoop 单机模式(Standalone Mode)部署与 WordCount 测试
通过本次实验,成功搭建了 Hadoop 单机环境并运行了基础 MapReduce 程序,为后续分布式计算学习奠定了基础。 掌握 Hadoop 单机模式的安装与配置方法。 熟悉 Hadoop 环境变量的配置及 Java 依赖管理。 使用 Hadoop 自带的 WordCount 示例程序进行简单的 …...
线段树合并与分解
合并 #include <bits/stdc.h> using namespace std; #define asd(i,a,b) for(int ia;i<b;i) #define int long long const int inf 0x3f3f3f3f, N 1e5 5, Z 1e5; int n, m, fa[N], o[N][25], dep[N], tot, root[N], ans[N]; vector<int> g[N]; struct node…...
驱动开发硬核特训 │ 深度解析 fixed regulator 驱动与 regulator_ops
一、引言:本次目标 本篇聚焦于: Regulator 子系统基础概念设备树节点与驱动代码的对应关系regulator_desc、regulator_ops、regulator_dev 的完整讲解驱动端的实际注册与管理流程 通过一个实际案例,系统掌握 regulator 子系统 的全貌。 二…...
Linux中的shell脚本练习
1.判断字符串是否为空 #!/usr/bin/bash while : #:默认值为真 do read -p "请输入你的密码: " a pass123456 if [ -z $a ];thenecho "您输入的密码不能为空"exit 1 elseif [ $a $pass ];thenecho "登录成功"breakelseecho "您的密码输入有…...
MySQL基础篇 | 1-数据库概述与MySQL安装
【MySQL基础篇-1】数据库概述与MySQL安装 1. 数据库概述2. MySQL环境搭建2.1. MySQL的四大版本2.2. 软件下载1. 数据库概述 MySQL官网网站:https://dev.mysql.com/doc/relnotes/mysql/8.0/en/ SQL Server:SQL Server是微软开发的大型商业数据库。C#、.net等语言常使用,与wi…...
JVM 自动内存管理
一、运行时数据区域详解 Java 虚拟机在运行 Java 程序时,会将所管理的内存划分为多个不同的数据区域,各区域有着独特的用途、创建和销毁时间。 程序计数器:作为线程私有的较小内存空间,它是当前线程执行字节码的行号指示器。字节…...
InitializingBean接口和@PostConstruct-笔记
1. InitializingBean 简介 1.1 功能简介 InitializingBean 是 Spring 框架中的一个接口,用在 Bean 初始化后执行自定义逻辑。它提供了 afterPropertiesSet() 方法,该方法在以下时机被 Spring 容器自动调用: 属性注入完成后(即所…...
考研408-计算机组成原理冲刺考点(1-3章)
第一章 计算机系统概述 1.计算机核心 早期的冯诺依曼计算机是以运算器为中心的,而现在的计算机是以存储器为中心的 2.五大部件 3.汇编程序、编译程序、解释程序的辨析...
模板方法模式(Template Method Pattern)
模板方法模式(Template Method Pattern)是一种行为型设计模式,它定义了一个操作中的算法骨架,将一些步骤的实现延迟到子类中。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。 一、基础 1. 意图 定义一个操作中的算法骨架,将某些步骤延迟到…...
一文了解无人机系统
无人机系统,又称无人驾驶航空器系统(Remotely Piloted Aircraft System,RPAS),作为一个由无人机平台、遥控站、指令与控制数据链及其他部件构成的完整技术体系,其系统架构包含多个核心分系统。具体而言&…...
系统架构师2025年论文《论软件的设计模式》
论软件的设计模式 摘要: 2016 年,我所在的公司承担了某市医院预约挂号系统的研发任务。我作为公司的技术总监,希望能打造基于该系统的系列产品,参与到项目的设计中,以期开发扩展性和可维护性良好的预约挂号系统,为以后的产品开发打下基础。网络靶场是网络安全技术研究的…...
集成电路流片随笔19:full_handshake
全双工握手接收模块 (full_handshake_rx),它的功能是接收来自发送端 (tx) 的数据,并对发送端进行应答(ACK)。模块实现了基于握手的通信机制,以确保数据的可靠传输。模块的输入输出分别连接于发送端和接收端,…...
Android Framework 探秘
以下文字来源AI,准确性不敢保证! 安卓Framework层概述 安卓的 Framework(框架层) 是安卓系统的核心组成部分,位于应用层和系统底层(如Linux内核)之间,负责为应用提供统一的接口和功…...
亚马逊云科技2025战略解析:AI驱动下的全球生态重塑
一、战略转向:从“云优先”到“AI优先”的核心逻辑 1. 千亿美元资本投入AI基建 芯片自研突破:2025年资本支出70%投向AI芯片与液冷数据中心。自研芯片矩阵全面升级,包括3纳米工艺的Trainium3(算力提升4倍)、单核性能…...
NGINX ngx_http_addition_module 模块响应体前后注入内容
一、模块概述 模块名称:ngx_http_addition_module引入版本:自 0.7.9 起支持 addition_types,0.8.29 起支持“*”通配;功能:对符合 MIME 类型的响应,在响应体前后分别插入指定子请求 URI 返回的内容&#x…...
SpringMVC 使用thymeleaf 进行数据展示
thymeleaf 是前端的视图解析器,可以用于html页面上变量的渲染,如何来使用thymeleaf,下面我们来说一下: 首先引入相关的依赖: <dependency><groupId>org.thymeleaf</groupId><artifactId>thym…...
Github两种鉴权模式PAT与SSH
Github两种鉴权模式PAT与SSH 文章目录 Github两种鉴权模式PAT与SSH1. PAT鉴权2. SSH鉴权3.两种鉴权的切换 1. PAT鉴权 通过 HTTPS 协议克隆和推送代码,使用用户名/密码或个人访问令牌(PAT)鉴权,所以PAT是与HTTPS协议相关的。该鉴…...
XrayR启动失败
公司要用服务器之间进行数据加密,这里用的XrayR 我使用的Centos 7。 我这里使用一键脚本安装后,/etc/XrayR目录下没有配置文件。 解决方案 XrayR安装时,系统没有unzip工具,也是会安装失败的,因为Centos7已经停止维…...
FPGA-数字时钟
FPGA-数字时钟 总体设计 用FPGA驱动数码管按照HH-MM-SS的格式显示时间,每秒用串口向上位机发送当前时间,当串口收到HH:MM:SS,对时间进行校准。由于年月要考虑到大小月,闰年等。为了简单起见,只考虑时分秒。 数码管…...
数据结构 RBT 插入操作的 Python 代码实现
目录 一、红黑树的性质二、红黑树的插入1. 插入根节点或根节点变红2. 双亲节点 P 为黑色3. 双亲结点 P 和叔伯结点 U 均为红色4. 双亲结点 P 为红色,叔伯结点 U 为黑色或缺失1)情形一2)情形二 三、插入的 Python 代码实现 红黑树动画演示网站…...
颖儿生活提案:用海信璀璨505U6真空冰箱重建都市鲜食自由
热播剧《六姊妹》中,演员颖儿饰演的何家艺以泼辣坚韧的形象深入人心,一双手撑起家庭的"烟火气";戏外,她平衡事业与家庭,以自律姿态书写鲜活人生。 近日,颖儿向公众展示家中厨房,意外…...
JQuery 使用技巧
文章目录 隐藏/显示淡入淡出滑动追加新元素删除元素/内容设置 CSS 样式尺寸遍历Ajax根据 input 控件中的值 实时改变另一个值 $()是jQuery()的简写getElementByTagName();如: $(“div”)getElementByTagName(“div”); $()的作用是用于查找出 HTML 的标签、属性、样…...
光流法:从传统方法到深度学习方法
1 光流法简介 光流(Optical Flow)是指图像中像素灰度值随时间的变化而产生的运动场。 简单来说,它描述了图像中每个像素点的运动速度和方向。 光流法是一种通过分析图像序列中像素灰度值来计算光流的方法。对于图像数据计算出来的光流是一个二…...
如何选择合适的RFID手持终端设备?
一、明确核心需求,锁定关键参数 选购RFID手持终端的首要任务是明确应用场景的核心需求。若用于仓储物流或零售盘点,推荐选择上海岳冉超高频RFID手持终端设备,支持1-20米远距离批量读取;若用于医疗耗材或图书管理,岳冉高…...
Axios 传参与 Spring Boot 接收参数完全指南
Axios 传参与 Spring Boot 接收参数完全指南 本文详细说明前端 Axios 传参与后端 Spring Boot 接收参数的各类场景,包括 GET/POST/PUT/DELETE 请求、路径参数/查询参数/请求体参数 的传递方式,以及如何接收 List、Map 等复杂类型。通过代码示例和对比表…...
NdrpPointerUnmarshallInternal函数分析之pStubMsg--pAllocAllNodesContext的由来
第一部分: // // Check if this is an allocate all nodes pointer AND that were // not already in an allocate all nodes context. // if ( ALLOCATE_ALL_NODES(pFormat[1]) && ! pStubMsg->pAllocAllNodesContext …...
人脑、深思考大模型与其他大模型的区别科普
文章目录 大模型的基本概念与特点深思考大模型的独特之处深思考大模型与其他大模型的对比架构与技术训练数据应用场景提示词编写 大模型给出答案的方式:基于概率还是真的会分析问题?人脑的思考过程基本单位与网络大脑结构与功能分区信息处理流程思维模式…...
Unity-粒子系统:萤火虫粒子特效效果及参数
萤火虫特效由两部分组成。萤火虫粒子底色粒子面片。萤火虫的旋转飞动主要由 Noise参数和Color over Lifetime模块控制。 贴图:中间实周边虚的圆,可随意自行制作 Shader:Universal Render Pipeline/2D/Sprite-Lit-Default 以下是粒子详细参…...
Java垃圾收集器与内存分配策略深度解析
在 Java 与 C 的世界里,内存动态分配与垃圾收集技术仿佛筑起了一道高墙。墙外的人渴望进入,享受自动内存管理的便利;而墙内的人却试图突破,追求更高的性能与控制力。今天,就让我们深入探讨 Java 的垃圾收集器与内存分配…...
优化MySQL性能:主从复制与读写分离实践指南
目录 一、知识介绍 1.MySQL主从复制原理 2.MySQL读写分离原理 二、资源清单 三、案例实施 1.修改主机名 2.搭建MySQL主从复制 3.搭建MySQL读写分离 一、知识介绍 1.MySQL主从复制原理 MySQL支持的复制类型 基于语句的复制基于行的复制混合模型复制 工作过程 主&#…...
Foupk3systemX5OS系统产品设备
Foupk3systemX5OS TXW8(基于Foupk3systemX5OS系统19.62正式版开发的智能移动设备由Foupk3systemX5OS系统与FOUPK3云服务平台共同自主研发) Foupk3systemX5OS TX6(Foupk3systemX5OS TX6基于Foupk3systemX5OS系统19.60正式版开发的智能平板设备…...
【计网】认识跨域,及其在go中通过注册CORS中间件解决跨域方案,go-zero、gin
一、跨域(CORS)是什么? 跨域,指的是浏览器出于安全限制,前端页面在访问不同源(协议、域名、端口任一不同)的后端接口时,会被浏览器拦截。 比如: 前端地址后端接口地址是…...
关于 【Spring Boot Configuration Annotation Processor 未配置问题】 的详细分析、解决方案及代码示例
以下是关于 Spring Boot Configuration Annotation Processor 未配置问题 的详细分析、解决方案及代码示例: 1. 问题描述 当使用 Spring Boot 的配置注解(如 ConfigurationProperties、Value、ConditionalOnProperty 等)时,若未…...
MySQL 的ANALYZE与 OPTIMIZE命令
MySQL 的ANALYZE与 OPTIMIZE命令 一、ANALYZE TABLE - 更新统计信息 1. 基本语法与功能 ANALYZE [NO_WRITE_TO_BINLOG | LOCAL] TABLE tbl_name [, tbl_name] ...作用:收集表统计信息用于优化器生成更优的执行计划,主要更新: 索引基数&am…...
【机器学习】人工智能在电力电子领域的应用
摘要: 本文概述了电力电子系统的人工智能 (AI) 应用。设计、控制和维护这三个独特的生命周期阶段与人工智能要解决的一项或多项任务相关,包括优化、分类、回归和数据结构探索。讨论了专家系统、模糊逻辑、元启发法和机器学习四类人工智能的应用。我们对…...
InferType和_checked_type的区别?
在 TVM 的 Relay IR 中,relay.frontend.common.infer_shape(node) 和 node.checked_type.shape 都与**形状(Shape)**信息相关,但它们的用途、实现机制和性能特点有显著区别。以下是详细对比: 1. 功能区别 特性node.ch…...
Flutter 学习之旅 之 flutter 作为 module ,在 Android 端主动唤起 Flutter 开发的界面 简单的整理
Flutter 学习之旅 之 flutter 作为 module ,在 Android 端主动唤起 Flutter 开发的界面 简单的整理 目录 Flutter 学习之旅 之 flutter 作为 module ,在 Android 端主动唤起 Flutter 开发的界面 简单的整理 一、简单介绍 二、Android 端唤起 Flutter …...
vue3 css模拟语音通话不同语音、正在加载等的效果
实现效果如下: 在不同的时间,显示不一样的效果(大小是一样的,截图时尺寸发生了变化) 具体实现代码如下: <script setup> import {ref} from "vue";const max_hight ref(40px) const min…...
【Machine Learning Q and AI 读书笔记】- 01 嵌入、潜空间和表征
Machine Learning Q and AI 中文译名 大模型技术30讲,主要总结了大模型相关的技术要点,结合学术和工程化,对LLM从业者来说,是一份非常好的学习实践技术地图. 本文是Machine Learning Q and AI 读书笔记的第1篇,对应原…...
[Agent]AI Agent入门02——ReAct 基本理论与实战
ReAct介绍 ReAct(Reasoning and Acting)是一种通过协同推理(Reasoning)与行动(Acting)提升大语言模型(LLM)任务解决能力的技术。其核心思想是在解决复杂问题时交替生成推理和动作&a…...
uniapp自定义头部(兼容微信小程序(胶囊和状态栏),兼容h5)
很早之前就写过自定义头部,但是那时偷懒写死了,现在用插槽重新写了个 有两种形式: type1是完全自定义的,可以自己去组件改也可以用插槽改 type2是正常的返回标题和右边按钮,使用就是 title"标题" rightClic…...
mybatis的xml ${item}总是更新失败
场景 代码如下 void updateStatus(Param("deviceSerialIdCollection") Collection<String> deviceSerialIdCollection, Param("status") Integer status);<update id"updateStatus">UPDATE gb_monitor SET online#{status} WHERE d…...
数据库- JDBC
标题目录 JDBC基本概念JDBC 接口JDBC 工作原理 JDBC APIJDBC工作过程Driver 接口及驱动加载Connection 接口Statemen 接口ResultSet 接口PreparedStatement 接口 JDBC 基本概念 Java Database Connectivity:java访问数据库的解决方案希望用相同的方式访问不同的数…...
[26] cuda 应用之 nppi 实现图像格式转换
[26] cuda 应用之 nppi 实现图像格式转换 讲述 nppi 接口定义通过nppi实现 bayer 格式转rgb格式官网参考信息:http://gwmodel.whu.edu.cn/docs/CUDA/npp/group__image__color__debayer.html#details1. 接口定义 官网关于转换的原理是这么写的: Grayscale Color Filter Array …...
MYSQL-OCP官方课程学习截图
第一节 介绍...
医院信息管理系统全解析
目录 一、医院信息管理系统是什么 1. 概念阐释 2. 核心功能概述 二、医院信息管理系统的种类 1. 医院信息系统(HIS) 2. 电子病历系统(EMR) 3. 实验室信息管理系统(LIS) 三、医院信息管理系统的实际…...
模型上下文协议(MCP):技术解析与生态发展
一、概念与目标 模型上下文协议(Model Context Protocol,MCP)是由Anthropic于2024年11月推出的开源协议,旨在为大语言模型(LLM)与外部工具、数据源提供标准化的双向通信框架。其核心目标是打破数据孤岛&am…...