SQL高级:存储过程和触发器

在前面的内容中,我们学习了视图的概念和使用,视图实际上代表了一种自定义的结果集,可以理解为一个虚拟表。它诠释了部分数据的逻辑关系,但并不会操作数据。

如果有一些需求可以通过多个DML SQL组合起来完成,我们就可以使用存储过程。存储过程可以类比其他编程语言中的方法,有输入输出。只不过从业务逻辑转化来的代码,是用SQL自己的一套符号体系。

有时候我们可能需要一些逻辑随着增删改自动执行,这个时候我们就可以用到触发器。那么下面让我们以MySQL为例,来分别学习一下他们。

存储过程

定义格式

存储过程的定义格式如下

DELIMITER //CREATE PROCEDURE procedure_name (parameter1 data_type, parameter2 data_type, ...)
BEGIN-- SQL statements
END //DELIMITER ;

其中,

DELIMITER //  改变语句分隔符,以防止触发器中的分号与默认分隔符出现冲突。有时候多条SQL会用到分号,使用delimiter 可以短范围改变分隔符,方便语句编写;

DELIMITER ;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/588165.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

乒乓球室计时计费软件,乒乓球馆怎么计时

一,软件程序问答 1、软件有计时功能吗,有会员管理功能吗? 如下图,软件以 佳易王乒乓球馆计时计费软件 为例说明 软件既可以既可以计时计费,也可以会员管理,会员可以用卡片也可以直接用手机号即可。 2、软…

2023年度总结——关于如何认清自己是个FW

前言 不到各位有没有今年过得特别快的感觉。写总结时候一整理,我敲,我今年这么忙? 从三月份开说 三月份 这段时间刚开学,还算比较懵懂。不过初生牛犊不怕虎,那个寒假学了点怎么挖edusrc,开学迫不及待地…

SpireCV项目实战——电诈园区人员及房屋情况识别

项目介绍前言 随着科技的进步和大数据时代的到来,计算机视觉技术逐渐渗透到各个行业领域,为人们的生活和工作带来了诸多便利。近年来,电信诈骗案件频发,给社会带来了巨大的经济损失和心理负担。电诈园区作为电信诈骗的高发区域&a…

弱电工程计算机网络系统基础知识

我们周围无时无刻不存在一张网,如电话网、电报网、电视网、计算机网络等;即使我们身体内部也存在许许多多的网络系统,如神经系统、消化系统等。最为典型的代表即计算机网络,它是计算机技术与通信技术两个领域的结合。 计算机网络的…

【QT】qt各模块描述

【未完待续】 QT主要版本,各个模块的作用描述。 QT5.12 版本(只有部分) qtgamepad: 提供了对游戏手柄的支持。qtandroidextras: 提供了一些特定于Android的功能。qtmacextras: 提供了一些特定于macOS的功能。qtx11extras: 提供了一些特定于X11的功能。qtsensors:…

spring ioc源码-refresh();

主要作用是刷新应用上下文 Override public void refresh() throws BeansException, IllegalStateException {synchronized (this.startupShutdownMonitor) {// 启动刷新的性能跟踪步骤StartupStep contextRefresh this.applicationStartup.start("spring.context.refre…

Typescript面向对象

面向对象 面向对象是程序中一个非常重要的思想,它被很多同学理解成了一个比较难,比较深奥的问题,其实不然。面向对象很简单,简而言之就是程序之中所有的操作都需要通过对象来完成。 举例来说: 操作浏览器要使用windo…

Windows 10启用Hyper-V

Windows 10启用Hyper-V 官网教程PowerShell 启用 Hyper-V启用 Hyper-V 角色 我们知道VMware是创建虚拟机的好工具,那Windows平台上有没有虚拟工具呢? 今天我们要讲解的就是Windows才入局的虚拟工具:Hyper-V 官网教程 https://learn.microsof…

2024年的学习规划和碎碎念

2023最后一天,仿佛都要将自己变成小孩子,在等待新的一年。春节与我的意义不大,我反而期待元旦,好似跨过去,我就蜕变成新的人啦,全身血液换了个变,人也不是之前的灵魂。 当然那不可能。回顾自己…

table表格中使用el-popover 无效问题解决

实例只针对单个的按钮管用在表格里每一列都有el-popover相当于是v-for遍历了 所以我们在触发按钮的时候并不是单个的触发某一个 主要执行 代码 <el-popover placement"left" :ref"popover-${scope.$index}"> 动态绑定了ref 关闭弹窗 执行deltask…

【数据结构和算法】找出两数组的不同

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 哈希类算法题注意事项 2.2 方法一&#xff1a;哈希法 三、代码 3.1 方法一&#xff1a;哈希法 四…

Linux文件类型

在 Linux 系统中&#xff1a; b 文件类型&#xff1a;代表块设备文件。块设备文件通常是对应于设备&#xff0c;如硬盘驱动器或其他块设备&#xff0c;使用块级别的 I/O 操作。 c 文件类型&#xff1a;代表字符设备文件。字符设备文件通常是对应于设备&#xff0c;如串口、键盘…

[年终总结]人生就是大闹一场

讲真的,感觉过去这一年的体验,非常精彩,哈哈哈哈 体验了 裸辞,并没有想象中那么可怕,也没有想象中那么焦虑 经历了 入职之后又被裁员,心情没有那么大的起伏 解锁了 深圳/佛山/珠海/澳门/昆明/大理/新疆/成都 ,见了很多人,碰撞出了很多 idea 体会了 没有目的的去做一件事情,是什…

GitHub的2FA验证问题解决工具

文章目录 前言认识2FA开源工具使用&#xff1a;AuthenticatorPro获取AuthenticatorPro的安卓APK如何使用 参考文章 前言 打开GitHub跳出来这个提示&#xff0c;需要进行验证&#xff1a; 如何解决呢&#xff1f;方案有很多&#xff0c;我们可以使用开源的一个工具&#xff1a;…

vue 动态添加style样式

示例1 <div class"qrcode" :style"{display: qrcodeShow?:none}"><img src"../assets/images/qrcode.jpg"> </div>{display: qrcodeShow?:none} 为JS对象。 示例2 <div class"qrcode" :style"qrcodeSt…

爬虫工作量由小到大的思维转变---<第三十一章 Scrapy Redis 初启动/conn说明书)>

前言: 重点在读connection.py的源码,这个组件主要是用来连接的; 因为连接都无法做到,后面想更改点自定义就白扯了; 正文: 翻译版的connection.py源码: import sys import six from scrapy.utils.misc import load_object from . import defaults# 快捷方式映射 设置名称 -&…

Kotlin 属性

1、声明 关键字 var 声明为可变的 关键字 val 声明为只读的 class Address {val name: String "Holmes, Sherlock"val street: String "Baker"var city: String "London"var state: String? nullvar zip: String "123456" } …

RedisCache——redis缓存工具类

SuppressWarnings(value { “unchecked”, “rawtypes” }) Component public class RedisCache { Autowired public RedisTemplate redisTemplate; /*** 缓存基本的对象&#xff0c;Integer、String、实体类等** param key 缓存的键值* param value 缓存的值*/ public <T…

Java工厂模式详解

Java工厂模式详解 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;让我们一起深入研究Java中的一项关键设计模式——工厂模式。工厂模式是一种创建型…

java图书管理系统

主要模块&#xff1a; 为用户开通借书服务增加图书信息登记图书借出信息 技术栈&#xff1a; JSPServletTomcat9.0IDEAMysql 前台登录验证使用框架 数据库脚本包括登录用户名和密码已经写在了数据库脚本.sql 中 解压“需要的jar包”添加到项目的dependency中 运行效果&a…