当前位置: 首页 > news >正文

SQL Server存储过程和触发器的使用

存储过程

(1)创建存储过程,使用Employees表中的员工人数来初始化一个局部变量,并调用这个存储过程。

1.	Create PROCEDURE test @number1 int output --输出参数,可以从程序中返回信息  
2.	As  
3.	begin  
4.	    Declare @number2 int  
5.	    Set @number2=(Select COUNT(*) from Employees)  
6.	    Set @number1=@number2  
7.	end

运行结果如下

执行该存储过程,并查看结果。

Declare @num int  
EXEC test @num output  
Select @num  

运行结果如下

(2)创建存储过程,比较两个员工的实际收入,若前者比后者高就输出0,否则输出1。

1.	Create PROCEDURE compa @id1 char(6),@id2 char(6),@bj int output  
2.	as  
3.	Begin  
4.	    Declare @sr1 float, @sr2 float  
5.	    Select @sr1=income-outcome from salary Where EmployeeID=@id1  
6.	    Select @sr2=income-outcome from salary Where EmployeeID=@id2  
7.	    If @sr1>@sr2  
8.	        Set @bj=0  
9.	    Else  
10.	        Set @bj=1  
11.	end  
12.	GO 

运行结果如下

(3)创建添加职员记录的存储过程EmployeeAdd。

Create PROCEDURE EmployeeAdd   
(  
@employeeid char(6),@name char(10),@education char(4), @birthday datetime,  
@workyear tinyint,@sex bit,@address char(40), @phonenumber char(12),  
@departmentID char(3))  
As  
Begin  
Insert into employees   
values(@employeeid,@name,@education,@birthday,@workyear,  
@sex,@address,@phonenumber,@departmentID)  
end  
return

运行结果如下

(4)创建带output游标参数的存储过程,在employees中声明并打开一个游标。

Create PROCEDURE em_cursor @em_cursor cursor VARYING output  
As  
Begin  Set @em_curcor=CURSOR forward_only static  FOR  Select * from Employees  open @em_cursor  
end  

运行结果如下

声明一个局部游标变量,执行上述存储过程,并将游标赋值给局部游标变量,然后通过该游标变量读取记录

Declare @mycursor cursor  
EXEC em_cursor @em_cursor=@mycursor output  
Fetch next from @mycursor  
While(@@FETCH_STATUS=0)  
begin  fetch next from @mycursor  
end  
close @mycursor  
deallocate @mycursor 

运行结果如下

(5)创建存储过程,使用游标确定一个员工的实际收入是否排在前三名。结果为1表示是,结果为0表示否。

Create PROCEDURE top_three @em_id char(6),@ok bit output  
As  
Begin  Declare @x_em_id char(6)  Declare @act_in int,@seq int  Declare salary_ids cursor for  Select EmployeeID,Income-Outcome from salary  order by income-outcome desc  Set @seq=0  Set @ok=0  open salary_ids  fetch salary_ids into @x_em_id,@act_in  While @seq<3 and @ok=0  begin  Set @seq=@seq+1  if @x_em_id=@em_id  Set @ok=1  fetch salary_ids into @x_em_id,@act_in  end  close salary_ids  deallocate salary_ids  
end 

运行结果如下

执行该存储过程

Declare @ok bit  
EXEC top_three '108991',@ok output  
Select @ok 

运行结果如下

要求一个员工的工作年份大于6时将其转移到经理办公室工作

1.	Select * from dbo.Departments  
2.	Select * from dbo.Employees  
3.	Select * from dbo.Salary   
4.	  
5.	Create PROCEDURE que1 @id char(6)  
6.	as  
7.	Begin  
8.	    Declare @workyear char(6),@dep_id char(3)  
9.	    Select @workyear=workyear from Employees Where EmployeeID=@id  
10.	    Select @dep_id=Departments.departmentID from employees,departments  
11.	        Where employees.DepartmentID=departments.DepartmentID   
12.	        and departmentName='经理办公室'   
13.	    If @workyear>6  
14.	        Update Employees Set departmentID=@dep_id Where EmployeeID=@id  
15.	end 

根据每个员工的学历将收入提高500

1.	Create Procedure que2 @id char(6)  
2.	As  
3.	Begin  
4.	    Declare @education char(6)  
5.	    Select @education=Education from Employees Where EmployeeID=@id  
6.	    Update salary Set Income=income+500 Where EmployeeID=@id  
7.	end 

使用游标计算本科及以上学历的员工在员工总数中占的比例

1.	Declare @edu varchar(10),@part_count int,@all_count int  
2.	Declare mycursor cursor   
3.	for Select distinct education,count(education) over(partition by education)as part_count,  
4.	count(education) over() as all_count from Employees  
5.	open mycursor  
6.	fetch next from mycursor into @edu,@part_count,@all_count  
7.	While @@FETCH_STATUS=0  
8.	Begin  
9.	    print @edu+'占总人数比例:'+convert(varchar(100),convert(numeric(38,2),@part_count/1.0/@all_count*100)+'%'  
10.	    fetch next from mycursor into @edu,@part_count,@all_count  
11.	end  
12.	close mycursor  
13.	deallocate mycorsor  

触发器

对于TGGL数据库,Employees表的DepartmentID列与Departments表的DepartmentID列应满足参照完整性规则。

  1. 向Employees表添加记录时,该记录的DepartmentID字段值在Departments表中应存在。
  2. 修改Departments表的DepartmentID字段值时,该字段在Employees表中的对应值也应修改。
  3. 删除Departments表的记录时,该记录的DepartmentID字段值在Employees表中对应的记录也应删除。

对于上述参照完整性规则,在此通过触发器实现。

(1)向Employees表插入一个记录时,通过触发器检查记录的DepartmentID在Departments中是否存在,不存在则取消插入或修改操作。

1.	Create Trigger employeesIns on dbo.Employees  
2.	    for insert,Update  
3.	    as  
4.	    Begin  
5.	        IF((Select DepartmentID from inserted)not in  
6.	            (Select DepartmentID from Departments))  
7.	            Rollback    
8.	    end 

运行结果如下

(3)删除Departments中记录的同时删除Employees中DepartmentID对应记录.

Create Trigger DepartmentDelete on dbo.Departments  for Delete  as  Begin  Delete from Employees  Where DepartmentID=(Select DepartmentID from deleted)  end 

运行结果如下

(4)创建Instead of触发器,当向salary中插入记录时,先检查EmployeeID列上的值在Employees中是否存在,如果存在则执行插入操作,如果不存在则提示“员工编号不存在”。

1.	Create Trigger EM_EXISTS on salary  
2.	Instead of Insert  
3.	as  
4.	Begin  
5.	    Declare @employeeID char(6)  
6.	    Select @employeeID=EmployeeID from inserted  
7.	    If (@employeeID in (Select EmployeeID from Employees))  
8.	        Insert into salary Select * from inserted  
9.	    Else  
10.	        print '员工编号不存在'  
11.	end

运行结果如下

(5)创建DDL触发器,当删除数据库的一个表时,提示‘不能删除表’,并回滚删除表的操作。

Create Trigger table_delete on Database  
After drop_table  
as  print '不能删除表'  rollback transaction 

运行结果如下

Employees与salary的EmployeeID应满足完整性规则,请用触发器实现两个表之间的参照完整性。

1.	Create Trigger que1_1 on salary  
2.	for insert,update  
3.	as  
4.	Begin  
5.	    If(Select employeeid from inserted)not in  
6.	    (Select EmployeeID from Employees)  
7.	    rollback  
8.	end  
9.	Create trigger que1_2 on Employees  
10.	for update  
11.	as  
12.	Begin  
13.	    Update Salary Set zemployeeID=(Select Employeeid from inserted)  
14.	    Where EmployeeID=(Select employeeid from deleted)  
15.	end  
16.	  
17.	Create Trigger que1_3 on Employees  
18.	for delete  
19.	as  
20.	Begin  
21.	    Delete from salary  
22.	    Where EmployeeID=(Select EmployeeID from deleted)  
23.	End

若将Employees中员工的工作时间增加到1年,则收入增加500,若增加两年则增加1000。

1.	Create Trigger que2_1 on Employees  
2.	After update  
3.	as  
4.	Begin  
5.	    Declare @a int,@b int  
6.	    Set @a=(Select workyear from inserted)  
7.	    Set @b=(Select workyear from deleted)  
8.	    If (@a>@b)  
9.	        update salary  
10.	        Set income=income+(@a-@b)*500  
11.	        Where EmployeeID in (Select EmployeeID from inserted)  
12.	End 

创建UPdate触发器,当salary中income增加500时,outcome增加50。

1.	Create Trigger que3_1 on salary  
2.	for update  
3.	as  
4.	Begin  
5.	    If((Select income from inserted)-(Select income from deleted)=500)  
6.	        Update salary Set outcome=outcome+50  
7.	        Where EmployeeID=(Select EmployeeId from inserted)  
8.	end 

创建instead of触发器,实现向不可更新视图插入数据。

1.	Create VIEW a_view  
2.	as  
3.	Select a.EmployeeID,name,workyear,income,outcome from Employees a,salary b  
4.	Where Employees.employeeID=Salary.EmployeeID  
5.	Create Trigger que4_1 on a_view  
6.	Instead of insert  
7.	as  
8.	Begin  
9.	    Declare @ei char(6),@name char(10),@wy tinyint,@ic float,@oc float  
10.	    Select @ei=EmployeeID,@name=name,@wy=workyear,@ic=income,@oc=outcome  
11.	    from inserted  
12.	    insert into Employees(EmployeeID,name,workyear)values(@ei,@name,@wy)  
13.	    insert into salary values(@ei,@ic,@oc)  
14.	end  

创建DDl触发器,当删除数据库时,提示无法删除,并回滚删除操作。

1.	Create Trigger que5_1 on all server  
2.	after drop_database  
3.	as  
4.	print '不能删除'  
5.	rollback transaction  
6.	drop database Hao  

​​​​​​​

相关文章:

SQL Server存储过程和触发器的使用

存储过程 &#xff08;1&#xff09;创建存储过程&#xff0c;使用Employees表中的员工人数来初始化一个局部变量&#xff0c;并调用这个存储过程。 1. Create PROCEDURE test number1 int output --输出参数&#xff0c;可以从程序中返回信息 2. As 3. begin 4. D…...

Elastic 的 OpenTelemetry 分发版(EDOT)现已正式发布:开源、可用于生产环境的 OTel

作者&#xff1a;来自 Elastic Miguel Luna 及 Bahubali Shetti Elastic 自豪地宣布正式发布 Elastic OpenTelemetry 分发版&#xff08;Elastic Distributions of OpenTelemetry - EDOT&#xff09;&#xff0c;其中包含 Elastic 自定义版本的 OpenTelemetry Collector 以及多…...

springMVC-Json交互处理

什么是JSON JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式&#xff0c;目前使用特别广泛。 采用完全独立于编程语言的文本格式来存储和表示数据。 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写&#xff0c;同时也…...

MySQL中的索引

explain关键字&#xff0c; MySQL索引特性 索引的概念 MySQL 索引是一种用于提高数据库查询效率的数据结构 数据库表中存储的数据都是以记录为单位的&#xff0c;如果在查询数据时直接一条条遍历表中的数据记录&#xff0c;那么查询的时间复杂度将会是 O ( N )。索引的价值在…...

AI小白:JavaPython开发环境双轨制搭建指南

文章目录 1 Python深度学习环境配置1.1 Anaconda生态体系建设1.2 JupyterLab高效工作流魔法命令与可视化调试扩展插件配置指南 2 Java深度学习方案&#xff1a;DL4J实战2.1 企业级部署架构设计2.2 集成传统Java系统Spring Boot微服务封装模型性能优化技巧 1 Python深度学习环境…...

《比特城的机密邮件:加密、签名与防篡改的守护之战》

点击下面图片带您领略全新的嵌入式学习路线 &#x1f525;爆款热榜 88万阅读 1.6万收藏 第一章&#xff1a;风暴前的密令 比特城的议会大厅内&#xff0c;首席长老艾德文握着一卷足有半人高的羊皮纸&#xff0c;眉头紧锁。纸上是即将颁布的《新纪元法典》——这份文件不仅内…...

Redis之布隆过滤器

面试场景切入 针对于电话号码问题的痛点 布隆过滤器是什么&#xff1f; 由一个初值都为0的bit数组和多个哈希函数构成&#xff0c;用来快速判断集合中是否存在某个元素。 设计思想 本质就是判断具体数据是否存在于一个大的集合中。布隆过滤器是一种类似Set的数据结构&#…...

这是一份简单优雅的Prompt Engineering教程

Prompt Engineering&#xff08;提示工程&#xff09;是通过精心设计输入文本&#xff08;prompt&#xff09;来引导大型语言模型&#xff08;LLM&#xff09;生成更准确、相关且符合预期的输出的技术。其核心在于通过调整提问的措辞、结构、上下文和附加信息&#xff0c;优化模…...

Java基础 4.6

1.成员方法练习 //编写类A&#xff1a;判断一个数是奇数还是偶数&#xff0c;返回boolean //根据行、列、字符打印对应行数和列数的字符&#xff0c;比如&#xff1a;行4 列4 字符# 则打印相应的效果 public class MethodExercise01 {public static void main(String[] args) …...

DApp实战篇:前端技术栈一览

前言 在前面一系列内容中&#xff0c;我们由浅入深地了解了DApp的组成&#xff0c;从本小节开始我将带领大家如何完成一个完整的DApp。 本小节则先从前端开始。 前端技术栈 在前端开发者速入&#xff1a;DApp中的前端要干些什么&#xff1f;文中我说过&#xff0c;即便是在…...

C++中如何比较两个字符串的大小--compare()函数实现

一、现在有一个问题描述&#xff1a;有两个字符串&#xff0c;要按照字典顺序比较它们的大小&#xff08;注意所有的小写字母都大于所有的大写字母 &#xff09;。 二、代码 #include <bits/stdc.h> using namespace std;int main() {string str1 "apple";…...

c++中的auto关键字

在 C 中&#xff0c;auto 是一个类型推断关键字&#xff08;C11 引入&#xff09;&#xff0c;允许编译器根据变量的初始化表达式自动推导其类型。它极大地简化了代码编写&#xff0c;尤其在涉及复杂类型或模板的场景中。以下是 auto 的详细说明&#xff1a; 1. 基本用法 1.1 …...

zk源码—1.数据节点与Watcher机制及权限二

大纲 1.ZooKeeper的数据模型、节点类型与应用 (1)数据模型之树形结构 (2)节点类型与特性(持久 临时 顺序 ) (3)节点的状态结构(各种zxid 各种version) (4)节点的版本(version cversion aversion) (5)使用ZooKeeper实现锁(悲观锁 乐观锁) 2.发布订阅模式&#xff1…...

交换机和集线器的区别

集线器&#xff08;Hub&#xff09;—— 大喇叭广播站​​ ​​工作原理​​&#xff1a; 集线器像村里的“大喇叭”&#xff0c;收到任何消息都会​​广播给所有人​​。 比如A对B说“你好”&#xff0c;全村人&#xff08;C、D、E&#xff09;都能听到&#xff0c;但只有B会回…...

微服务系统记录

记录下曾经工作涉及到微服务的相关知识。 1. 架构设计与服务划分 关键内容 领域驱动设计&#xff08;DDD&#xff09;&#xff1a; 利用领域模型和限界上下文&#xff08;Bounded Context&#xff09;拆分业务&#xff0c;明确服务边界。通过事件风暴&#xff08;Event Storm…...

同花顺客户端公司财报抓取分析

目标客户端下载地址:https://ft.51ifind.com/index.php?c=index&a=download PC版本 主要难点在登陆,获取token中的 jgbsessid (每次重新登录这个字段都会立即失效,且有效期应该是15天的) 抓取jgbsessid 主要通过安装mitmproxy 使用 mitmdump + 下边的脚本实现监听接口…...

二叉树与红黑树核心知识点及面试重点

二叉树与红黑树核心知识点及面试重点 一、二叉树 (Binary Tree) 1. 基础概念 定义&#xff1a;每个节点最多有两个子节点&#xff08;左子节点和右子节点&#xff09; 术语&#xff1a; 根节点&#xff1a;最顶层的节点 叶子节点&#xff1a;没有子节点的节点 深度&#xf…...

Rocket-JWT鉴权

目录 一、概述 二、相关依赖 三、环境准备 3.1 创建项目 3.2 读取私钥信息 3.3 token数据负载 3.4 生成token 四、Web鉴权 4.1 验证载体 4.2 接收请求 五、总结 Welcome to Code Blocks blog 本篇文章主要介绍了 [Rocket-JWT鉴权] ❤博主广交技术好友&#xff0c;喜…...

2025 年网络安全终极指南

我们生活在一个科技已成为日常生活不可分割的一部分的时代。对数字世界的依赖性日益增强的也带来了更大的网络风险。 网络安全并不是IT专家的专属特权&#xff0c;而是所有用户的共同责任。通过简单的行动&#xff0c;我们可以保护我们的数据、隐私和财务&#xff0c;降低成为…...

横扫SQL面试——PV、UV问题

&#x1f4ca; 横扫SQL面试&#xff1a;UV/PV问题 &#x1f31f; 什么是UV/PV&#xff1f; 在数据领域&#xff0c;UV&#xff08;Unique Visitor&#xff0c;独立访客&#xff09; 和 PV&#xff08;Page View&#xff0c;页面访问量&#xff09; 是最基础也最重要的指标&…...

ctf-show-杂项签到题

下载文件&#xff0c;解压需要密码&#xff0c;用010打开没看出什么 然后用Advanced Archive Password Recovery暴力破解&#xff0c;发现没用 怀疑是伪解密&#xff0c;解压出来发现加密受损用随波逐流修复加密文件 打开修复的加密文件直接得flag flag&#xff1a;flag{79d…...

对解释器模式的理解

对解释器模式的理解 一、场景1、题目【[来源](https://kamacoder.com/problempage.php?pid1096)】1.1 题目描述1.2 输入描述1.3 输出描述1.4 输入示例1.5 输出示例 二、不采用解释器模式1、代码2、“缺点” 三、采用解释器模式1、代码2、“优点” 四、思考1、解释器模式的意义…...

高频面试题(含笔试高频算法整理)基本总结回顾64

干货分享&#xff0c;感谢您的阅读&#xff01; &#xff08;暂存篇---后续会删除&#xff0c;完整版和持续更新见高频面试题基本总结回顾&#xff08;含笔试高频算法整理&#xff09;&#xff09; 备注&#xff1a;引用请标注出处&#xff0c;同时存在的问题请在相关博客留言…...

python入门之从安装python及vscode开始

本篇将解决三个问题&#xff1a; 1. 如何下载及安装官方python&#xff1f; 2. 如何下载及安装vscode&#xff1f; 3. 如何配置vscode的python环境&#xff1f; 一、python下载及安装 1.搜索python&#xff0c;找到官网并打开 2.找到download&#xff0c;按需选择版本下载 …...

OpenGL学习笔记(模型材质、光照贴图)

目录 光照与材质光照贴图漫反射贴图采样镜面光贴图 GitHub主页&#xff1a;https://github.com/sdpyy OpenGL学习仓库:https://github.com/sdpyy1/CppLearn/tree/main/OpenGLtree/main/OpenGL):https://github.com/sdpyy1/CppLearn/tree/main/OpenGL 光照与材质 在现实世界里&…...

视觉_transform

visual_transform 图像分块 (Patch Embedding) 假设输入图像为 x ∈ R ∗ H ∗ ∗ W ∗ ∗ C ∗ x∈R^{*H**W**C*} x∈R∗H∗∗W∗∗C∗ C 是图像的通道数&#xff08;例如&#xff0c;RGB图像的 C3&#xff09; 将图像分割成N个大小为P*CP的patch&#xff0c;每个patch的大…...

Redis的安装及通用命令

二. Redis 的安装及通用命令 1. Ubuntu 安装 Redis (1) 切换到 root 用户: su root(2) 搜索 Redis 软件包 apt search redis(3) 安装 Redis apt install redis(4) 查看 Redis netstat -anp | grep redis(5) 切换到 Redis 目录下 cd /etc/redis/(6) 修改 Redis 配置文件:…...

Python 实现的运筹优化系统代码详解(0-1规划背包问题)

一、引言 在数学建模与实际决策场景的交织领域中&#xff0c;诸多复杂问题亟待高效且精准的解决方案。0-1 规划作为一种特殊且极为重要的优化方法&#xff0c;宛如一把万能钥匙&#xff0c;能够巧妙开启众多棘手问题的解决之门。它专注于处理决策变量仅能取 0 或 1 这两种极端状…...

护网蓝初面试题

《网安面试指南》https://mp.weixin.qq.com/s/RIVYDmxI9g_TgGrpbdDKtA?token1860256701&langzh_CN 5000篇网安资料库https://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247486065&idx2&snb30ade8200e842743339d428f414475e&chksmc0e4732df793fa3bf39…...

音视频学习(三十二):VP8和VP9

VP8 简介 全称&#xff1a;Video Processing 8发布者&#xff1a;原 On2 Technologies&#xff08;2010 被 Google 收购&#xff09;定位&#xff1a;开源视频压缩标准&#xff0c;主要竞争对手是 H.264应用&#xff1a; WebRTC 视频通信HTML5 <video> 标签&#xff08…...

美国mlb与韩国mlb的关系·棒球9号位

MLB&#xff08;Major League Baseball&#xff0c;美国职业棒球大联盟&#xff09;作为全球最高水平的职业棒球联赛&#xff0c;与韩国市场流行的“MLB”时尚品牌之间存在着授权合作关系&#xff0c;但两者在业务范畴和品牌定位上存在显著差异。 一、品牌授权背景&#xff1a;…...

免费在线PUA测试工具:识别情感操控,守护情感健康

免费在线PUA测试工具&#xff1a;识别情感操控&#xff0c;守护情感健康 你是否曾经在感情中感到困惑、不安&#xff0c;甚至怀疑自己&#xff1f;今天为大家推荐一个专业的PUA测试工具&#xff0c;帮助你识别是否正在经历情感操控。 测试工具链接&#xff1a;PUA测试工具 什么…...

nginx中的try_files指令

try_files 是 Nginx 中一个非常有用的指令&#xff0c;用于按顺序检查文件是否存在&#xff0c;并返回第一个找到的文件。如果所有指定的文件都不存在&#xff0c;则执行回退逻辑&#xff0c;如重定向到一个指定的 URI 或返回一个错误代码。 作用 文件查找&#xff1a;按顺序检…...

[特殊字符] 驱动开发硬核特训 · Day 4

主题&#xff1a;从硬件总线到驱动控制 —— I2C 协议与传感器驱动开发全解析 I2C&#xff08;Inter-Integrated Circuit&#xff09;总线是一种广泛用于嵌入式设备的串行通信协议&#xff0c;因其低成本、简单布线和多从设备支持&#xff0c;成为连接各种传感器&#xff08;温…...

Python 实现玻璃期货数据处理、入库与分析:从代码到应用

Python 实现期货数据处理与分析&#xff1a;从代码到应用 引言 在金融市场中&#xff0c;期货数据的处理和分析对于投资者和分析师来说至关重要。Python 凭借其丰富的库和简洁的语法&#xff0c;成为了处理和分析期货数据的强大工具。本文将详细解读一段用于处理期货持仓和行…...

神经网络之损失函数

引言&#xff1a;损失函数 &#xff08;Loss Function&#xff09;是机器学习和深度学习中非常重要的一个概念。用于衡量模型的预测值与真实值之间的差异&#xff0c;从而指导模型优化其参数以最小化这种差异。 一、损失函数作用 量化误差&#xff1a;损失函数是将预测值和真实…...

在Ubuntu内网环境中为Gogs配置HTTPS访问(通过Apache反向代理使用IP地址)

一、准备工作 确保已安装Gogs并运行在HTTP模式(默认端口3000) 确认服务器内网IP地址(如192.168.1.100) 二、安装Apache和必要模块 sudo apt update sudo apt install apache2 -y sudo a2enmod ssl proxy proxy_http rewrite headers 三、创建SSL证书 1. 创建证书存储目录…...

printf

printf() 是 C 和 C 标准库中的一个输出函数&#xff0c;位于 <cstdio> 头文件中。下面为你详细介绍它的相关知识点。 1. 基本使用 printf() 函数的作用是按照指定格式将数据输出到标准输出设备&#xff08;通常是控制台&#xff09;。其基本语法如下&#xff1a; cpp …...

Leetcode 311 Sparse Matrix Multiplication 稀疏矩阵相乘

Problem Given two sparse matrices A and B, return the result of AB. You may assume that A’s column number is equal to B’s row number. Example: A [[ 1, 0, 0],[-1, 0, 3] ]B [[ 7, 0, 0 ],[ 0, 0, 0 ],[ 0, 0, 1 ] ]| 1 0 0 | | 7 0 0 | | 7 0 0 | AB …...

mysql和sqlite关于data数据的识别问题

<input type"date" name"birthday" value""> # 表单传入的日期 birthday request.form.get(birthday) # 获取日期 birthday Column(birthday, Date, comment出生日期, nullableTrue) # 数据库的数据字段模型 birthday_str request…...

2024 天梯赛——工业园区建设题解

思路 将点 i i i 视为固定点&#xff0c; 点 j j j 视为灵活点&#xff0c;其中 s i 1 s_{i} 1 si​1&#xff0c; s j 0 s_{j} 0 sj​0。维护四个队列&#xff0c;其中 q 0 q_{0} q0​ 和 q 1 q_{1} q1​ 分别维护还没有被选用的固定点 和 灵活点&#xff0c; Q 0 Q…...

亚马逊AI新功能上线:5大亮点解锁精准消费预测

在人工智能技术不断重塑跨境电商生态之际&#xff0c;全球电商巨头亚马逊&#xff08;Amazon&#xff09;再次迈出关键一步。近日&#xff0c;亚马逊正式对其卖家中心推出一系列基于AI的新功能&#xff0c;聚焦于消费数据预测、用户行为洞察、库存智能管理与个性化营销服务等方…...

opus+ffmpeg+c++实现录音

说明&#xff1a; opusffmpegc实现录音 效果图&#xff1a; step1:C:\Users\wangrusheng\source\repos\WindowsProject1\WindowsProject1\WindowsProject1.cpp // WindowsProject1.cpp : 定义应用程序的入口点。 //#include "framework.h" #include "Windows…...

ComfyUI的本地私有化部署使用Stable Diffusion文生图

什么是ComfyUI &#xff1f; ComfyUI是一个基于节点流程的Stable Diffusion操作界面。以下是关于它的详细介绍&#xff1a; 特点与优势 高度可定制&#xff1a;提供丰富的节点类型&#xff0c;涵盖文本处理、图像处理、模型推理等功能。用户可根据需求自由组合节点&#xff0…...

【学习笔记17】Windows环境下安装RabbitMQ

一. 下载RabbitMQ&#xff08; 需要按照 Erlang/OTP 环境的版本依赖来下载&#xff09; (1) 先去 RabbitMQ 官网&#xff0c;查看 RabbitMQ 需要的 Erlang 支持&#xff1a;https://www.rabbitmq.com/ 进入官网&#xff0c;在 Docs -> Install and Upgrade -> Erlang V…...

【LeetCode 热题100】55:跳跃游戏(详细解析)(Go语言版)

&#x1f680; LeetCode 热题 55&#xff1a;跳跃游戏&#xff08;Jump Game&#xff09;完整解析 &#x1f4cc; 题目描述 给定一个非负整数数组 nums&#xff0c;你最初位于数组的第一个下标。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一…...

OpenCV轮廓检测全面解析:从基础到高级应用

一、概述 轮廓检测是计算机视觉中的基础技术&#xff0c;用于识别和提取图像中物体的边界。与边缘检测不同&#xff0c;轮廓检测更关注将边缘像素连接成有意义的整体&#xff0c;形成封闭的边界。 轮廓检测的核心价值 - 物体识别&#xff1a;通过轮廓可以识别图像中的独立物体…...

微服务入门:Spring Boot 初学者指南

大家好&#xff0c;这里是架构资源栈&#xff01;点击上方关注&#xff0c;添加“星标”&#xff0c;一起学习大厂前沿架构&#xff01; 微服务因其灵活性、可扩展性和易于维护性而成为现代软件架构的重要组成部分。在本博客中&#xff0c;我们将探讨如何使用 Spring Boot 构建…...

Windows环境下开发pyspark程序

Windows环境下开发pyspark程序 一、环境准备 1.1. Anaconda/Miniconda&#xff08;Python环境&#xff09; 如果不怕包的版本管理混乱&#xff0c;可以直接使用已有的Python环境。 需要安装anaconda/miniconda&#xff08;python3.8版本以上&#xff09;&#xff1a;Anaconda…...

嵌入式学习笔记——大小端及跳转到绝对地址

大小端以及跳转到绝对地址 0x100000 嵌入式编程中的大小端详解一、大端模式与小端模式二、判断当前系统是大端还是小端方法一&#xff1a;指针强制类型转换方法二&#xff1a;使用联合体&#xff08;union&#xff09; 三、结构体位段和大小端的影响四、大小端影响内存的 memc…...