存储过程和触发器
目录
1、存储过程
1.1 存储过程的概述
1.2 存储过程的类型
1. 系统存储过程
2. 本地存储过程
3. 临时存储过程
4. 扩展存储过程
1.3 T-SQL创建存储过程
1.4 T-SQL执行存储过程
1.5 T-SQL查看存储过程
1.6 T-SQL修改存储过程
1.7 T-SQL删除存储过程
2、触发器
2.1 触发器的概述
2.2 触发器的类型
1.DML触发器
2.DDL 触发器
3.登录触发器
2.3 T-SQL创建触发器
1. 创建触发器的注意事项
2. DML触发器
3. DDL触发器
2.4 T-SQL查看触发器
2.5 T-SQL修改触发器
2.6 T-SQL禁用和启用触发器
2.7 T-SQL删除触发器
T-SQL的语法约定
数据库的概念和操作-CSDN博客
1、存储过程
1.1 存储过程的概述
存储过程是一组在数据库系统中为了完成特定功能的T-SQL语句的集合,经编译后独立存储在数据库中。当需要其功能时,只需要通过存储过程名并给出参数(如果存储过程有参数的情况)调用即可,且存储过程只在首次执行时进行编译,而不需要每次执行时重新编译,所以比单个T-SQL语句块的运行速度快。
存储过程是SQL Server中一个非常有用的工具。SQL Server支持存储过程和系统过程。存储过程是独立存在于表之外的数据对象。可以由客户调用,也可以从另一个过程或触发器调用,参数可以被传递和返回,出错代码也可以被检验到。
1.2 存储过程的类型
1. 系统存储过程
系统存储过程是安装SQL Server 2014时自动创建的。系统存储过程能执行许多管理性和信息性活动(如获取数据库信息或者数据库对象的信息等)。系统过程主要存储在master数据库中并以sp_为前缀,并且系统存储过程主要是从系统表中获取信息,可以在其他数据库中被调用。
2. 本地存储过程
本地存储过程也称为用户定义存储过程,是由用户自行创建并存储在用户数据库中的存储过程,一般所说的存储过程指的就是本地存储过程。
3. 临时存储过程
临时存储过程可分为以下两种:
(1)本地临时存储过程
如果在创建存储过程时,其名称以“#”号开头,则该存储过程将成为一个存储在tempdb数据库中的本地临时存储过程。
(2)全局临时存储过程
如果在创建存储过程时,其名称以 “##”号开头,则该存储过程将成为一个存储在tempdb数据库中的全局临时存储过程。
不论创建的是本地临时存储过程还是全局临时存储过程,只要SQL Server 2014停止运行,它们将不复存在。
4. 扩展存储过程
扩展存储过程是用户可以使用外部程序语言(例如C语言)编写的存储过程。显而易见,扩展存储过程可以弥补SQL Server 2014的不足,并按需要自行扩展其功能。
扩展存储过程在使用和执行上与一般的存储过程完全相同,为了区别,扩展存储过程的名称通常以XP_开头。扩展存储过程是以动态链接库(DLL)的形式存在,能让SQL Server 2014动态地装载和执行。扩展存储过程一定要存储在系统数据库master中。
1.3 T-SQL创建存储过程
CREATE {PROC|PROCEDURE} [schema_name.]procedure_name
[ @parameter data_type [=default] [OUT|OUTPUT|[READONLY]] [,...n]
AS {[BEGIN] sql_statement [...n] [END]}
PROC|PROCEDURE:PROCEDURE可以简写为PROC
OUT|OUTPUT|READONLY:
OUT|OUTPUT:输出型参数,类似于引用。
READONLY:不能在过程的主体中修改参数。参数类型为表值类型,必须指定READONLY。
1.4 T-SQL执行存储过程
[EXEC|EXECUTE] procedure_name [[@parameter=]{value|@variable[OUTPUT]}] [,...n]
EXEC|EXECUTE:EXECUTE可以简写为EXEC,如果存储过程是批处理中的第一条语句,那么可以省略EXECUTE关键字。
@parameter=:关键字参数,明确指定哪个实参传递给那个形参。
@variable OUTPUT:输出型参数,形参和实参的位置都要写OUTPUT。
1.5 T-SQL查看存储过程
SP_HELPTEXT 'name' -- 命令语句
SP_HELP ['name'] -- 名称、架构名、类型、创建时间、参数
-- name省略时,显示所有数据库对象
1.6 T-SQL修改存储过程
与T-SQL创建存储过程相同,只是把CREATE 换成 ALTER
1.7 T-SQL删除存储过程
DROP {PROC|PROCEDURE} {[schema_name.]procedure_name} [,...n]
2、触发器
2.1 触发器的概述
触发器是一种特殊的存储过程,它会在特定的事件或条件下自动执行。
优点:
1. 强制实现比CHECK约束更复杂的数据的完整性。
2. 实现自定义的错误信息提示。
3. 对数据库中的相关表实现级联修改和删除。
4. 可调用更多的存储过程。
5. 禁止或回滚违反引用完整性(主键外键)的更改。
2.2 触发器的类型
1.DML触发器
DML触发器是当数据库服务器中发生数据操作语言(DML)事件时会自动执行的存储过程。DML事件包括在指定表或视图中修改数据的INSERT语句、UPDATE语句或DELETE语句。DML触发器可用于强制业务规则和数据完整性、查询其他表并包括复杂的T-SQL语句。
SQL Server 2014的DML触发器分为两类:
①AFTER触发器
在执行INSERT、UPDATE、MERGE或DELETE语句的操作之后执行AFTER触发器。 AFTER触发器只能在表上定义,可以为针对表的同一操作定义多个触发器。
②INSTEAD OF触发器
与AFTER触发器不同,INSTEAD OF触发器一般用来取代原来的操作,它是在数据变更之前触发的,它并不执行原来的操作语句(INSERT、UPDATE或DELETE),而去执行触发器本身所定义的操作。 INSTEAD OF触发器不仅可以定义在表上,也可以定义在视图上。
2.DDL 触发器
DDL触发器在响应数据定义语言(DDL)语句时触发,DDL触发器一般用于数据库中执行管理任务。
当在执行触发DDL触发器的DDL语句后,DDL触发器才会触发。DDL触发器无法作为INSTEAD OF触发器使用。
3.登录触发器
登录触发器将为响应 LOGIN 事件而激发存储过程。
2.3 T-SQL创建触发器
1. 创建触发器的注意事项
(1) CREATE TRIGGER语句必须是批处理的第一条语句,只能用于一个表或视图。
(2) 创建触发器的权限默认为表的所有者,不能将该权限转让给其他用户。
(3) 虽然触发器可以引用当前数据库以外的对象,但只能在当前数据库中创建。
(4) 虽然不能在临时表或系统表上创建触发器,但是触发器可以引用临时表,不应引用系统表,而应使用系统架构视图。
(5) TRUNCATE TABLE 语句类似于没有WHERE字句的DELETE语句,但不会激发DELETE触发器。
2. DML触发器
CREATE TRIGGER [schema_name.]trigger_name
ON {table|view}
{FOR|AFTER|INSTEAD OF} -- FOR=AFTER
{[INSERT][,][UPDATE][,][DELETE]}
AS {sql_statement[ ,...n ] }
ROLLBACK:是回滚,类似于撤销。
inserted表:表中insert的数据。
deleted表:表中delete的数据。update是新数据在inserted表,旧数据在deleted表。
例1:静止修改course表
use teaching
go
create trigger unupdate_c
on course
after update
as
beginraiserror( '禁止修改course表',16,1)rollback
end
例2:触发器级联更新,更新course表的cno,sc表中的cno也随之改变。
use teaching
go
create trigger C_sc_UP
on course
after update
asif update(cno)begindeclare @cno1 char(4),@cno2 char(4)select @cno1 = cno from insertedselect @cno2 = cno from deletedupdate scset cno = @cno1where cno = @cno2end
go
例3:触发器的引用完整性(主键外键),向sc表中插入数据,判断数据是否在student和course中存在。
create trigger tr_sc on sc
for insert
asif not exists(select * from student where sno = (select sno from inserted)) ornot exists(select * from course where cno = (select cno from inserted))beginprint '您要插入的sno或cno有误'rollbackend
go
3. DDL触发器
CREATE TRIGGER [schema_name.]trigger_name
ON {ALL SERVER|DATABASE} -- 当前服务器|当前数据库
{FOR|AFTER} -- 没有INSTEAD OF
{event_type|event_group}[,...n]
AS {sql_statement[ ,...n ] }
event_type:如:CREATE_TABLE、ALTER_TABLE、DROP_TABLE……
event_group:如:DDL_TABLE_EVENTS(包含了CREATE_TABLE、ALTER_TABLE、DROP_TABLE)
2.4 T-SQL查看触发器
SP_HELPTEXT 'name' -- 命令语句
SP_HELP ['name'] -- 名称、架构名、类型、创建时间、参数
-- name省略时,显示所有数据库对象
2.5 T-SQL修改触发器
与T-SQL创建触发器相同,只是把CREATE 换成 ALTER
2.6 T-SQL禁用和启用触发器
禁用或启用DML触发器的T-SQL语句的语法格式如下:
ALTER TABLE table_name
ENABLE|DISABLE TRIGGER [ALL|trigger_name[ ,...n ]]
禁用或启用DDL触发器的T-SQL语句的语法格式如下:
ENABLE|DISABLE TRIGGER {[schema_name.][ALL|trigger_name[ ,...n ]]}
ON {object_name|DATABASE|ALL SERVER}
例:禁用teaching数据库中的safety触发器
DISABLE TRIGGER safety on database
2.7 T-SQL删除触发器
DROP TRIGGER trigger_name
相关文章:
存储过程和触发器
目录 1、存储过程 1.1 存储过程的概述 1.2 存储过程的类型 1. 系统存储过程 2. 本地存储过程 3. 临时存储过程 4. 扩展存储过程 1.3 T-SQL创建存储过程 1.4 T-SQL执行存储过程 1.5 T-SQL查看存储过程 1.6 T-SQL修改存储过程 1.7 T-SQL删除存储过程 2、触发器 2.1 …...
改进果蝇优化算法之一:自适应缩小步长的果蝇优化算法(ASFOA)
自适应缩小步长的果蝇优化算法(ASFOA)是对传统果蝇优化算法的一种重要改进,旨在克服其后期种群多样性不足、容易过早收敛和陷入局部最优等问题。有关果蝇优化算法的详情可以看我的文章:路径规划之启发式算法之二十七:果蝇优化算法(Fruit Fly Optimization Algorithm,FOA…...
道旅科技借助云消息队列 Kafka 版加速旅游大数据创新发展
作者:寒空、横槊、娜米、公仪 道旅科技:科技驱动,引领全球旅游分销服务 道旅科技 (https://www.didatravel.com/home) 成立于 2012 年,总部位于中国深圳,是一家以科技驱动的全球酒店资源批发商…...
LLM - 大模型 ScallingLaws 的 CLM 和 MLM 中不同系数(PLM) 教程(2)
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/145188660 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 Scalin…...
游戏引擎学习第80天
Blackboard:增强碰撞循环,循环遍历两种类型的 t 值 计划对现有的碰撞检测循环进行修改,以便实现一些新的功能。具体来说,是希望处理在游戏中定义可行走区域和地面的一些实体。尽管这是一个2D游戏,目标是构建一些更丰富…...
CSS布局与响应式
学习链接 Grid网格布局 前端五大主流网页布局 flex布局看这一篇就够了 grid布局看这一篇就够了 用六个案例学会响应式布局 伸缩盒响应式页面布局实战 实现响应式布局的五种方式 - csdn 如何完成响应式布局,有几种方法?看这个就够了 响应式布局总…...
PyBroker:利用 Python 和机器学习助力算法交易
PyBroker:利用 Python 和机器学习助力算法交易 你是否希望借助 Python 和机器学习的力量来优化你的交易策略?那么你需要了解一下 PyBroker!这个 Python 框架专为开发算法交易策略而设计,尤其关注使用机器学习的策略。借助 PyBrok…...
深入了解卷积神经网络(CNN):图像处理与深度学习的革命性技术
深入了解卷积神经网络(CNN):图像处理与深度学习的革命性技术 导语 卷积神经网络(CNN)是现代深度学习领域中最重要的模型之一,特别在计算机视觉(CV)领域具有革命性的影响。无论是图…...
彩色图像面积计算一般方法及MATLAB实现
一、引言 在数字图像处理中,经常需要获取感兴趣区域的面积属性,下面给出图像处理的一般步骤。 1.读入的彩色图像 2.将彩色图像转化为灰度图像 3.灰度图像转化为二值图像 4.区域标记 5.对每个区域的面积进行计算和显示 二、程序代码 %面积计算 cle…...
[Qt] Box Model | 控件样式 | 实现log_in界面
目录 1、样式属性 (1)盒模型(Box Model) 2、控件样式示例 (1)按钮 (2)复选框 (3)单选框 (4)输入框 (5)…...
内存与缓存:保姆级图文详解
文章目录 前言1、计算机存储设备1.1、硬盘、内存、缓存1.2、金字塔结构1.3、数据流通过程 2、数据结构内存效率3、数据结构缓存效率 前言 亲爱的家人们,创作很不容易,若对您有帮助的话,请点赞收藏加关注哦,您的关注是我持续创作的…...
IM聊天学习资源
文章目录 参考链接使用前端界面简单效果消息窗口平滑滚动至底部vue使用watch监听vuex中的变量变化 websocket握手认证ChatKeyCheckHandlerNettyChatServerNettyChatInitializer 参考链接 zzhua/netty-chat-web - 包括前后端 vue.js实现带表情评论功能前后端实现(仿…...
Redis 中 TTL 的基本知识与禁用缓存键的实现策略(Java)
目录 前言1. 基本知识2. Java代码 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 单纯学习Redis可以看我前言的Java基本知识路线!! 对于Java的基本知识推荐阅读: java框架…...
SpringMvc解决跨域问题的源码汇总。
看本文章前,需了解跨域的缘由。 其次,了解RequestMapping的基础原理 最后我们来解析SpringMvc是如何处理跨域问题的。 跨域信息配置 SpringMvc分为全局级别和局部级别两种,全局级别就是任何跨域请求都起作用。 全局级别 全局级别就是在配…...
25.1.17学习内容
B - 迷宫 Description 给定一个 NM 方格的迷宫,迷宫里有 T 处障碍,障碍处不可通过。 在迷宫中移动有上下左右四种方式,每次只能移动一个方格。数据保证起点上没有障碍。 给定起点坐标和终点坐标,每个方格最多经过一次…...
【开源免费】基于SpringBoot+Vue.JS欢迪迈手机商城(JAVA毕业设计)
本文项目编号 T 141 ,文末自助获取源码 \color{red}{T141,文末自助获取源码} T141,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…...
Qt之文件系统操作和读写
Qt creator 6.80 MinGw 64bit 文本文件是指以纯文本格式存储的文件,如cpp和hpp文件。XML文件和JSON文件也是文本文件,只是使用了特定的标记符号定义文本的含义,读取这种文本文件需要先对内容解析再显示。 qt提供了两种读写文本文件的方法。…...
合合信息名片全能王上架原生鸿蒙应用市场,成为首批数字名片类应用
长期以来,名片都是企业商务沟通的重要工具。随着企业数字化转型,相较于传统的纸质名片,数字名片对于企业成员拓展业务、获取商机、提升企业形象等方面发挥着重要作用。近期,合合信息旗下名片全能王正式上线原生鸿蒙应用市场&#…...
万字长文介绍ARINC 653,以及在综合模块化航空电子设备(IMA)中的作用
文章目录 一、引言二、ARINC 653背景三、整体系统架构四、应用/执行(APEX)接口五、ARINC 653 RTOS内部机制六、健康监测功能七、软件应用八、ARINC 653现状九、总结 一、引言 在现代航空领域,综合模块化航空电子设备(IMA…...
jenkins-node节点配置
一.简述: Jenkins有一个很强大的功能: 即:支持分布式构建(jenkins配置中叫节点(node),也被称为slave)。分布式构建通常是用来吸收额外的负载。通过动态添加额外的机器应对构建作业中的高峰期,或在特定操作系统或环境运行特定的构建…...
【Flink系列】5. DataStream API
5. DataStream API DataStream API是Flink的核心层API。一个Flink程序,其实就是对DataStream的各种转换。具体来说,代码基本上都由以下几部分构成: 5.1 执行环境(Execution Environment) Flink程序可以在各种上下文…...
【tailscale 和 ssh】当服务器建立好节点,但通过客户端无法通过 ssh 连接
背景 当服务器建立好节点,一切显示正常但通过客户端无法通过 vs code 中的 ssh 连接到服务器 问题解决 因为服务器是重装过的,所以忘记在服务器上下载 ssh 了。。。安装完成并启动 SSH 服务后便可正常连接! sudo apt update sudo apt in…...
TDengine 做 Apache SuperSet 数据源
Apache Superset 是一个现代的企业级商业智能(BI)Web 应用程序,主要用于数据探索和可视化。它由 Apache 软件基金会支持,是一个开源项目,它拥有活跃的社区和丰富的生态系统。Apache Superset 提供了直观的用户界面…...
PCL 新增自定义点类型【2025最新版】
目录 一、自定义点类型1、前言2、定义方法3、代码示例二、合并现有类型三、点云按时间渲染1、CloudCompare渲染2、PCL渲染博客长期更新,本文最近更新时间为:2025年1月18日。 一、自定义点类型 1、前言 PCL库自身定义了很多点云类型,但是在使用的时候时如果要使用自己定义的…...
【记录52】el-table-column 添加fixed属性 滚动条无法滑动
问题: el-table-column 添加fixed属性 滚动条无法滑动 使用element UI组件,用到el-table的el-table-column的fixed属性时,当滚动条长度小于固定列时,滚动条无法通过鼠标去点击滑动操作 原因 fixed是用来固定列的属性,其…...
华为OD机试E卷 ---最大值
一、题目描述 给定一组整数(非负),重排顺序后输出一个最大的整数。 二、示例1 用例1 输入 10 9输出 910说明:输出结果可能非常大,所以你需要返回一个 字符串只而不是整数。 三、输入描述 数字组合 四、输出描述 最大的整数 五、解题思路 字符…...
服务器迁移MySQL
由于公司原有的服务器不再使用,需要将老的服务器上的MySQL迁移到新的服务器上,因此需要对数据进行备份迁移,前提是两台服务器已安装相同版本的MySQL,这里就不再讲解MySQL的安装步骤了,可以安装包、可以在线下载、可以容…...
.Net Core微服务入门全纪录(二)——Consul-服务注册与发现(上)
系列文章目录 1、.Net Core微服务入门系列(一)——项目搭建 2、.Net Core微服务入门全纪录(二)——Consul-服务注册与发现(上) 3、.Net Core微服务入门全纪录(三)——Consul-服务注…...
【Linux系统】分区挂载
我们能够根据一个 inode 号在指定分区寻找目标文件的 struct inode,也能根据目录文件的内容,通过映射关系,找指定的 inode,可是,现在有个问题: 问题:inode 是不能跨分区使用的!Linu…...
进阶——十六届蓝桥杯嵌入式熟练度练习(按键+LCD)
高亮(一) 声明 char buf[21];unsigned char upled0x04;uint8_t key_val;uint8_t key_down,key_up,key_old;uint32_t key_time;uint8_t key_temp,key_flag;uint8_t line_flag; 按键代码 void key_proc(void) { key_valkey_scan();key_downkey_val&…...
简单介绍JSONStream的使用
地址 作用 这个模块是根据需要筛选出json数据中自己所需要的数据 使用 var JSONStream require("JSONStream"); var parse require("fast-json-parse"); var fs require("fs");fs.createReadStream("./time.json").pipe(JSONSt…...
LTX-Video 高效视频生成模型,一键处理图片文字
LTX-Video 是由 Lightricks 在 2024 年开发的一种视频生成模型,这种模型采用了 transformer 和 Video-VAE 技术,能够高效生成高分辨率视频。此外,LTX-Video 支持多种视频生成方式,包括从文本到视频和从图像到视频。 教程链接&…...
AUTOSAR从入门到精通专栏总目录
AUTOSAR通过分层、模块化和封装的特性,革命性地改变了汽车电子软件开发。它简化了软硬件接口,提高了软件复用性,降低了开发成本和周期。随着 AUTOSAR 在汽车电子系统开发领域的广泛应用,对其深入理解和熟练掌握已成为汽车电子软件…...
Windows环境本地配置pyspark环境详细教程
目录 一、背景简记二、本地单机spark环境配置详细步骤第一步:python环境安装第二步:安装jdk及配置环境变量安装包下载安装环境变量配置 第三步:安装Spark安装包下载安装配置环境变量 第四步:安装hadoop安装包下载安装配置环境变量…...
第8篇:从入门到精通:掌握Python异常处理
第8篇:异常处理 内容简介 本篇文章将深入探讨Python中的异常处理机制。您将学习异常的基本概念与类型,掌握使用try-except块处理异常的方法,了解finally语句的作用,以及如何抛出和定义自定义异常。通过丰富的代码示例࿰…...
聚铭网络6款产品入选CCIA《网络安全专用产品指南》
近日,中国网络安全产业联盟CCIA正式发布《网络安全专用产品指南》(第二版)(以下简称《指南》)。聚铭网络凭借突出技术优势、创新能力以及市场积累,旗下安全产品成功入选防火墙、网络安全审计、日志分析、网…...
高等数学学习笔记 ☞ 不定积分的积分方法
1. 第一换元积分法 1. 基础概念:形如的过程,称为第一换元积分法。 2. 核心思想:通过对被积函数的观察(把被积函数的形式与积分表的积分公式进行比较),把外部的部分项拿到的内部(求原函数), 然后进行拼凑,…...
08、如何预防SQL注入
目录 1、分析及其存在哪些危险 2、预防SQL注入 1、分析及其存在哪些危险 原理: SQL 注入是一种常见的网络攻击手段,攻击者通过在用户输入中插入恶意的 SQL 语句,利用程序对用户输入处理不当的漏洞,使恶意 SQL 语句被数据库服务器执行。 通常发生在应用程序将用户输入直接拼…...
如何发布自己的第一个Chrome扩展程序
如何发布自己的Chrome扩展程序 只需要六步即可完成Chrome扩展程序的发布 (1)首先打开google chrome 应用商城注册开发者账号的页面 (2)现在进行一个绑卡支付5美元的一次性注册费用即可。【不知道如何绑卡的支付的,文…...
ubuntu开机自启,其他方式
在 Ubuntu 22.04 中,如果不使用 .service 文件,仍然有其他方法可以让某个 .sh 文件随着系统启动而自动运行。以下是几种替代方法: 方法一:使用 crontab 的 reboot 选项 crontab 是 Linux 中用于设置周期性被执行的任务的工具。通…...
容器渗透横向
本质上要获得 1.获得容器IP段 2.获得主机IP段 3.获得本机IP 4.通过CNI或Docker0等扫描本机端口 Flannel 容器信息 rootubuntu-linux-22-04-desktop:/home/parallels/Desktop# k get po -A -o wide NAMESPACE NAME …...
软件测试—接口测试面试题及jmeter面试题
一,接口面试题 1.接口的作用 实现前后端的交互,实现数据的传输 2.什么是接口测试 接口测试就是对系统或组件之间的接口进行测试,主要是校验数据的交换、传递和控制管理过程,以及相互逻辑关系 3.接口测试必要性 1.可以发现很…...
ansible之playbook剧本
Playbook 1.playbook的组成部分 开头 用 --- 表示,表示是一个yaml文件,但是可以忽略不写 Tasks(任务) 包含了在目标主机上执行的操作,操作还是由模板来执行。每一个任务都是一个ansible的模块,调用系统命…...
基于 Python 的财经数据接口库:AKShare
AKShare 是基于 Python 的财经数据接口库,目的是实现对股票、期货、期权、基金、外汇、债券、指数、加密货币等金融产品的基本面数据、实时和历史行情数据、衍生数据从数据采集、数据清洗到数据落地的一套工具,主要用于学术研究目的。 安装 安装手册见…...
强网杯RS加密签名伪造及PyramidWeb利用栈帧打内存马
RS加密签名伪造及PyramidWeb利用栈帧打内存马 今年强网杯的一个新框架源代码如下 from wsgiref.simple_server import make_server from pyramid.config import Configurator from pyramid.events import NewResponse from pyramid.response import Response import utiluser…...
Java基础——概念和常识(语言特点、JVM、JDK、JRE、AOT/JIT等介绍)
我是一个计算机专业研0的学生卡蒙Camel🐫🐫🐫(刚保研) 记录每天学习过程(主要学习Java、python、人工智能),总结知识点(内容来自:自我总结网上借鉴࿰…...
搭建Node.js后端
从头开始搭建一个Node.js后端,并实现查询历史数据的功能,下面是详细的步骤说明,包括环境配置、项目初始化、代码编写、以及服务器启动。 1. 环境配置 1.1 安装 Node.js 和 npm 首先,你需要在你的电脑上安装 Node.js 和 npm&…...
RV1126+FFMPEG推流项目(9)AI和AENC模块绑定,并且开启线程采集
前面两篇已经交代AI和AENC模块的配置,这篇就让这两个模块绑定起来,绑定的原因是,Aenc从Ai模块拿到采集的原始数据进行编码。 使用 RK_MPI_SYS_Bind 把 AI 节点和 AENC 进行绑定,其中 enModId 是模块 ID 号选择的是 RK_ID_AI、s32C…...
vue编写一个可拖动的模块,并可以和任何其他组件组合使用
实现思路: 使用 Vue 的自定义指令(directive)来处理拖动逻辑。在 mounted 钩子中添加鼠标事件监听器,以实现拖动功能。在 unmounted 钩子中移除鼠标事件监听器,防止内存泄漏。 代码示例: <template&g…...
Spring6.0新特性-HTTP接口:使用@HttpExchange实现更优雅的Http客户端
文章目录 一、概述二、使用1、创建接口HttpExchange方法2、创建一个在调用方法时执行请求的代理3、方法参数4、返回值5、错误处理(1)为RestClient(2)为WebClient(3)为RestTemplate 注意 一、概述 官方文档…...