Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >触发器将已删除的行复制到另一个具有级联删除的相同表中。

触发器将已删除的行复制到另一个具有级联删除的相同表中。
EN

Database Administration用户
提问于 2018-08-01 05:00:19
回答 1查看 688关注 0票数 -1

我有两张桌子。销售与SaleProducts

SaleProducts包含有销售的所有产品。

1销售,很多产品。(一对多)

SaleProductsSale有关系,在删除时设置为CASCADE

当我删除销售时,它会删除所有与SaleProducts相关的Sale (因为删除级联)。

我是否可以定义一个像ON DELETE这样的触发器,在删除之前复制所有行到一个相同的Sale和SaleProducts表中以保存历史记录?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2018-08-01 05:45:59

在main (Sale)表上定义触发器BEFORE DELETE,该表将将所有记录从从表(SaleProducts)表复制到存档表,该表可以通过级联操作删除。

定义AFTER DELETE触发器,它将复制从主表中删除的记录。

如果这两份档案中都有记录,则删除已执行。两个存档表中的所有记录都是有效的。

如果SaleProducts存档中有记录,而Sale归档中没有适当的记录--由于某些错误而没有执行删除操作,那么必须从SaleProducts归档表中删除这些记录。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/213773

复制
相关文章
Word VBA技术:删除表格中内容相同的重复行
上面的代码区分大小写,即第一列中内容相同但大小写不同不会被删除。下面的代码操作时不区分大小写:
fanjy
2023/02/24
4.5K0
SQL级联删除_级联删除用例
删除A表内id为‘11’的数据,发现B表内userId 为“11”也被数据库自动删除了,这就是级联删除
全栈程序员站长
2022/11/10
1.4K0
使用VBA删除工作表多列中的重复行
自Excel 2010发布以来,已经具备删除工作表中重复行的功能,如下图1所示,即功能区“数据”选项卡“数据工具——删除重复值”。
fanjy
2022/11/16
11.4K0
使用VBA删除工作表多列中的重复行
Word VBA技术:删除表格中内容相同的重复行(加强版)
在《Word VBA技术:删除表格中内容相同的重复行》中,我们演示了如何使用代码删除已排序表中第1列内容相同的行。然而,如果表格中第1列没有排序,那么如何删除这列中内容相同的行呢?
fanjy
2023/02/24
2.6K0
Linux 删除文本中的重复行
这里我做了个简单的测试,当file中的重复行不再一起的时候,uniq将服务删除所有的重复行。经过排序后,所有相同的行都在相邻,因此unqi可以正常删除重复行。
阳光岛主
2019/02/19
8.6K0
hive删除表和表中的数据
hive删除表和表中的数据,以及按分区删除数据 hive删除表: drop table table_name; hive删除表中数据: truncate table table_name; hive按分区删除数据: alter table table_name drop partition (partition_name='分区名')
机器学习和大数据挖掘
2019/07/01
8.4K0
StatefulSet级联和非级联删除(一)
StatefulSet是Kubernetes中的一种有状态应用管理机制,它允许用户在集群中运行有状态应用程序,并对其进行有效的管理。StatefulSet能够确保有状态应用程序具有唯一的网络标识符、稳定的持久化存储和有序的部署、更新和删除。在StatefulSet中,有两种删除方式:级联删除和非级联删除。
玖叁叁
2023/04/30
8010
SQL:删除表中重复的记录
--创建测试表 if object_id('test') is not null drop table test create table test ( id int identity(1,1) primary key, name varchar(50) ) --插入几条测试数据 insert into test select 'a' union all select 'a' union all select 'a' union all select 'a' union all select 'a
用户8983410
2021/11/02
4.8K0
StatefulSet级联和非级联删除(二)
非级联删除是指在删除StatefulSet时,Kubernetes只删除StatefulSet本身,而不删除相关的Pod和存储卷。这种删除方式适用于用户需要保留有状态应用程序的数据并在以后重新创建StatefulSet的情况。
玖叁叁
2023/04/30
6460
mysql触发另一个表新增或者删除
CREATE TRIGGER <触发器名称> --触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象. { BEFORE | AFTER } --触发器有执行的时间设置:可以设置为事件发生前或后。 { INSERT | UPDATE | DELETE } --同样也能设定触发的事件:它们可以在执行insert、update或delete的过程中触发。 ON <表名称> --触发器是属于某一个表的:当在这个表上执行插入、 更新或删除操作的时候就导致触发器的激活. 我们不能给同一张表的同一个事件安排两个触发器。 FOR EACH ROW --触发器的执行间隔:FOR EACH ROW子句通知触发器 每隔一行执行一次动作,而不是对整个表执行一次。 <触发器SQL语句> --触发器包含所要触发的SQL语句:这里的语句可以是任何合法的语句, 包括复合语句,但是这里的语句受的限制和函数的一样。 --你必须拥有相当大的权限才能创建触发器(CREATE TRIGGER),如果你已经是Root用户,那么就足够了。这跟SQL的标准有所不同。
正在走向自律
2024/12/17
1260
Excel技巧:快速删除表中的空行
有时候,表中可能存在空行,如果我们需要删除表中的这些空行,如何快速操作呢?特别是包含大量数据的大表。为演示起见,下面的示例表数据较少。
fanjy
2023/02/24
2.8K0
Excel技巧:快速删除表中的空行
mysql批量删除相同前缀的表格
如果你网站后台没法运行mysql,就进phpmyadmin,然后运行一段代码.假如要删除织梦cms的dede_前缀的表,则运行
好派笔记
2021/11/02
2.6K0
python删除行_python 删除文件中指定行
代码适用情况:xml文件,循环出现某几行,根据这几行中的某个字段删掉这几行这段代码的作用删除jenkins中config.xml中在自动生成pipline报错的时的回滚 start = ‘
全栈程序员站长
2022/09/02
3.8K0
Oracle 级联删除外键
所谓的级联删除是指当主表中的一条记录被删除,那么子表中所关联的记录也相应的自动删除。本教程将教大家如何在Oracle中使用级联删除外键。
用户8965210
2021/09/02
1.2K0
删除MySQL表中的重复数据?
一般我们将数据存储在MySQL数据库中,它允许我们存储重复的数据。但是往往重复的数据是作废的、没有用的数据,那么通常我们会使用数据库的唯一索引 unique 键作为限制。问题来了啊,我还没有创建唯一索引捏,数据就重复了(我就是忘了,怎么滴)。
青衫染红尘
2023/02/28
7.2K0
如何快速删除InnoDB中的大表?
1. 背景 在使用MySQL时,如果有大表的存储引擎是InnoDB,并且系统参数innodb_file_per_table设置为1,即每个文件对应一个独立的表空间,当对这些大表进行DROP TABLE时,有时会发现整个数据库系统的性能会有显著下降,包括一些只涉及几行数据的简单SELECT查询和DML语句,而且这些语句和正在删除的大表没有关系。造成这种现象的原因是什么呢?通过什么方式能缓解和避免这个问题呢? 2. 已知的瓶颈 Percona曾经在MySQL官方5.5.23之前的版本中遇到过这个问题,并且提供
腾讯数据库技术
2018/06/05
8.7K3
python删除文本最后一行_用python删除文件中的最后一行
我创建了以下代码来查找文件中的行数,但是我不知道如何删除特定的行号。我是新来的python – 所以如果有一个更简单的方法 – 请告诉我。
全栈程序员站长
2022/08/30
7K0
在单链表中删除值相同的多余节点的算法
思路:分别使用两个指针p和q, 因为可能q->val==p->val时,此时要删除q所指向的节点,所以需要一个s指针记录q,防止发生断链。
lexingsen
2022/02/24
2.5K0
Ubuntu 删除已安装的桌面
Remove Kubuntu Paste this command into the terminal: sudo apt-get remove akonadi-server akregator amarok amarok-common amarok-utils appmenu-qt apport-kde apturl-kde ark bluedevil cdparanoia cdrdao docbook-xsl dolphin dragonplayer freespacenotifier gdebi-co
零式的天空
2022/03/02
3.2K0
NPM——删除已发布的包
unpublish: https://docs.npmjs.com/policies/unpublish
思索
2024/08/15
2670
NPM——删除已发布的包

相似问题

触发器删除具有级联效应

10

删除后,审计表中没有已删除的行

10

删除具有多个FKs的表中的行

10

将一行从表复制到具有相同列但触发器中顺序不同的另一行

10

在PostgreSQL中高效地删除具有级联复制的大型表

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文