首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
pdo
localhost
c语言
spring
hashmap
php
cookies
touch
tengine
curl
rust
protocol-buffers
struct
mvc
openssl
memcache
mysql
php绘图
redis
vb
web3
nlp
wordpress
注入
nodejs
压力测试
session
php水印
log4j
lavarel
static
server
ci
lvs
stdout
上传
nginx
pymongo
正则
pip
upload
cron
smtp
并发
interface
makefile
多线程
webhooks
package
lua
uuid
swoole
frontend
cSharp
router
java
laravel
分布式
grpc
pipe
sms
okhttp
sftp
thinkphp
caching
queue
token
php5
pipeline
service
varnish
mq
yii
timeout
h2
yaf
微服务
cPlusPlus
cache
当前位置:
开发笔记
>
后端
> 正文
牛腩新闻发布系统(1)级联表的操作
作者:我就是在刷粪_944 | 来源:互联网 | 2023-06-29 11:39
触发器是一种特殊类型的存储过程,它不同于普通的存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名称而被直接调用。当往某一个表格中插入记录、修
触发器是一种特殊类型的存储过程,它不同于普通的存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名称而被直接调用。当往某一个表格中插入记录、修改记录或者删除记录时,
SQL
SERVER
就会自动执行触发器所定义的
SQL
语句,以确保数据的完整性。
很多时候我们有这样一种需求,某一分类信息是属于另一个大的分类,当需要删除大的分类时,它下面小的分类实际也应该一起删除的,而且表之间设置了主键和外键,例如有三个表示:新闻分类表、新闻表、评论表。
它们分别为一对多的关系,如果你删除某一个新闻分类,这个分类里的新闻以及每条新闻的评论应该都删除,这三个表之间如果建立了外键,再删分类表或新闻表时就会出错,而用触发器可以很好的解决。
因此,在删除新闻分类时,要先删除它下面的新闻,即新闻表中属于该分类下的记录。
建立触发器代码如下:
在触发器中需要注意代码中红色框和绿色框框中内容,红色框中可以是Instead of 或after ,分别表示UPDATE、 INSERT 、DELETE执行之前或之后触发。
AFTER:
表示只有在执行了指定的操作
INSERT、DELETE、UPDATE
之后触发器才被激活,执行触发器中的
SQL
语句。
INSTEAD OF:
当为表或视图定义了针对某一操作
INSERT、DELETE、UPDATE
的
INSTEAD OF
类型触发器,且执行了相应的操作时,尽管触发器被触发,但相应的操作并不被执行,而运行的仅是触发器
SQL
语句本身。
这句话表明如果是INSTEAD OF类型触发器,那个执行的SQL语句本身不再执行,而是只执行触发器中内容。
如果是三个表之间级联删除和两个表之间删除类似,不同的是再删除第三表中记录时,所有的评论不会只属于一个新闻类,可以用“In”关键字,删除。如下:
可能你对触发器语句中的deleted不理解,这涉及到触发器工作原理。
每个触发器有两个特殊的表:插入表(inserted)和删除表(deleted)。这两个表是逻辑表,并且这两个表是由系统管理的,存储在内存中,不是存储在数据库中,因此不允许用户直接对其修改。这两个表的结构总是与被该触发器作用的表有相同的表结构。这两个表是动态驻留在内存中的,当触发器工作完成,这两个表也被删除。这两个表主要保存因用户操作而被影响到的原数据值或新数据值;另外这两个表是只读的,即用户不能向这两个表写入内容,但可以引用表中的数据。
触发器和事件触发一样,如单击事件,它是事件触发事件,让多个有联系的业务、操作关联起来,需要根据需要灵活使用。
sql
server
insert
数据库
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
rust
Windows服务与数据库交互问题解析
本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ...
[详细]
蜡笔小新 2024-12-28 10:30:14
注入
深入理解 SQL 视图、存储过程与事务
本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ...
[详细]
蜡笔小新 2024-12-27 17:40:42
注入
利用存储过程构建年度日历表的详细指南
本文将介绍如何使用SQL存储过程创建一个完整的年度日历表。通过实例演示,帮助读者掌握存储过程的应用技巧,并提供详细的代码解析和执行步骤。 ...
[详细]
蜡笔小新 2024-12-26 18:20:17
mysql
PHP 编程疑难解析与知识点汇总
本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ...
[详细]
蜡笔小新 2024-12-28 12:22:34
mysql
MyBatis 动态 SQL 详解与应用
本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ...
[详细]
蜡笔小新 2024-12-27 16:20:10
vb
使用C#开发SQL Server存储过程的指南
本文介绍如何利用C#在SQL Server中创建存储过程,涵盖背景、步骤和应用场景,旨在帮助开发者更好地理解和应用这一技术。 ...
[详细]
蜡笔小新 2024-12-27 14:24:17
mysql
网站与MySQL数据库的连接与交互
本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ...
[详细]
蜡笔小新 2024-12-27 14:09:23
mysql
MyBatis:深入解析与应用
在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ...
[详细]
蜡笔小新 2024-12-27 12:17:16
mysql
MongoDB集群配置:副本集与分片详解
本文详细介绍了如何在MongoDB中配置副本集(Replica Sets)和分片(Sharding),并提供了具体的步骤和命令,帮助读者理解并实现高可用性和水平扩展的MongoDB集群。 ...
[详细]
蜡笔小新 2024-12-27 08:02:09
curl
使用 SQLiteJDBC 和 HikariCP 实现 Java 程序连接 SQLite 数据库
本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ...
[详细]
蜡笔小新 2024-12-26 17:34:42
mysql
SQL 触发器实现视图插入操作
本文介绍如何通过创建替代插入触发器,使对视图的插入操作能够正确更新相关的基本表。涉及的表包括:飞机(Aircraft)、员工(Employee)和认证(Certification)。 ...
[详细]
蜡笔小新 2024-12-26 15:53:40
mysql
SQL中UPDATE SET FROM语句的使用方法及应用场景
本文详细介绍了SQL中UPDATE SET FROM语句的使用方法,通过具体示例展示了如何利用该语句高效地更新多表关联数据。适合数据库管理员和开发人员参考。 ...
[详细]
蜡笔小新 2024-12-28 10:22:16
mysql
Python配置文件读写指南
本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ...
[详细]
蜡笔小新 2024-12-28 08:39:55
php
Linux 自动化安装脚本详解
本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ...
[详细]
蜡笔小新 2024-12-27 16:33:32
php
Ralph的Kubernetes进阶之旅:集群架构与对象解析
本文深入探讨了Kubernetes集群的架构和核心对象,详细介绍了Pod、Service、Volume等基本组件,以及更高层次的抽象如Deployment、StatefulSet等,帮助读者全面理解Kubernetes的工作原理。 ...
[详细]
蜡笔小新 2024-12-26 14:15:32
我就是在刷粪_944
这个家伙很懒,什么也没留下!
Tags | 热门标签
pdo
localhost
c语言
spring
hashmap
php
cookies
touch
tengine
curl
rust
protocol-buffers
struct
mvc
openssl
memcache
mysql
php绘图
redis
vb
web3
nlp
wordpress
注入
nodejs
压力测试
session
php水印
log4j
lavarel
RankList | 热门文章
1
android中的文件操作详解以及内部存储和外部存储(转载)
2
抖音怎样合拍?合拍功能说明
3
linux Shell 脚本编写
4
计算机编程好难啊,揭秘|为什么我们觉得编程好难?
5
Php面向对象学习笔记?构造、析构、对象赋值、克隆
6
Java并发编程札记(六)JUC线程池02ThreadPoolExecutor实现原理
7
layui两个html传值,Layui跳转传参、父子页面
8
vue生成带logo的二维码
9
《大隐坊·赵记室俶在职无事》翻译 原文赏析诗人唐孟郊
10
用SpringBoot实现万能文件在线预览
11
python可以写web吗_Python web开发基本操作
12
王者荣耀程咬金技能分析?
13
[C#]EXE可执行文件单独运行小技巧
14
IDEA 设置背景图片和一些图片分享
15
CSS基础,选择器
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有