/*用触发器来实现级联更新级联删除*/

--创建学生表,课程表,学生课程表

--http://www.yaosansi.com/post/692.html

范本:

触发器方式:

create trigger trg_A

on A

for update,delete

as

begin

if exists(select 1 from inserted)

update B set Name=(select Name from inserted) where Name=(select Name from deleted)

else

delete B where Name=(select Name from deleted)

end

go

下面是一个实例:

CREATE TABLE [dbo].[学生表](

[studentid] [nvarchar](50) primary key NOT NULL,

[name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,

)

CREATE TABLE [d

/*用触发器来实现级联更新级联删除*/

--创建学生表,课程表,学生课程表

--http://www.yaosansi.com/post/692.html

范本:

触发器方式:

createtrigger trg_A

onA

forupdate,delete

as

begin

ifexists(select 1 from inserted)

updateB set Name=(select Name from inserted) where Name=(select Name from deleted)

else

deleteB where Name=(select Name from deleted)

end

go

下面是一个实例:

CREATETABLE [dbo].[学生表](

[studentid] [nvarchar](50) primary key NOT NULL,

[name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,

)

CREATETABLE [dbo].[课程表](

[courseid] [nvarchar](50) primary key NOT NULL,

[name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,

)

CREATETABLE [dbo].[学生课程表](

[studentid] [nvarchar](50) NOT NULL ,

[courseid] [nvarchar](50) NOT NULL ,

[grade] [nvarchar](50) NULL,

primary key(studentid,courseid),

)

--删除表:

droptable学生表;

droptable课程表;

droptable学生课程表;

insertinto学生表values('001','张三');

insertinto学生表values('002','李四');

insertinto课程表values('101','语文');

insertinto课程表values('102','数学');

insertinto学生课程表values('001','101','63');

insertinto学生课程表values('001','102','50');

insertinto学生课程表values('002','101','73');

insertinto学生课程表values('002','102','70');

--创建一个触发器来实现级联更新级联删除

createtrigger trg_A

on 学生表

forupdate,delete

as

begin

ifexists(select 1 from inserted)

update 学生课程表setstudentid=(select studentid from inserted) where studentid=(select studentid from deleted)

else

delete 学生课程表wherestudentid=(select studentid from deleted)

end

go

--删除操作:

deletefrom学生表wherestudentid='001'

--更新操作

update 学生表setstudentid='0001' where studentid='001'

--查询:

select* from学生表orderby studentid ;

select* from课程表orderby courseid ;

select* from学生课程表orderby studentid, courseid;

mysql触发器更新级联删除_用触发器来实现级联更新级联删除相关推荐

  1. 华为nova4e能更新鸿蒙吗,华为nova4e禁止系统更新的方法_怎么关闭和禁用系统更新功能...

    下面也还是来说说部分机友在用这个华为nova4e手机的时候会提到的一个问题,那就是不想让手机进行更新,因为有的机友觉得现在的系统用着挺好的,不想操作系统的更新,想把手机的更新功能暂时关闭了,那这个怎么 ...

  2. java tree类子项的添加和删除_使用Java实现二叉树的添加,删除,获取以及遍历...

    二叉树节点的声明: static final class Entry>{ //保存的数据 private T item; //左子树 private Entry left; //右子树 priv ...

  3. confluence 删除_知识管理平台Confluence教程:如何删除或还原页面?

    Confluence作为一个知识管理的平台,让团队成员协作.分享信息,查找工作所需的资料,从此打破不同团队.不同部门以及个人之间信息孤岛的僵局,Confluence真正实现了组织资源共享.同时Conf ...

  4. mysql中触发器有什么作用_数据库触发器有什么作用?

    展开全部 触发器的作用: 自动计算数据值,如果数据的值达到了一定的要求,则进行特32313133353236313431303231363533e78988e69d8331333431363034定的 ...

  5. mysql批量更新查询结果_数据库批量查询结果作为更新的值

    数据库批量更新. 业务需求: 需要将a表中 type为1 的数据的source_id更新为新的id. 因为之前的id是存储在p_server中,现在更新到了server_info表中 update a ...

  6. python数据库更新消息提醒_用Python实现校园通知更新提醒功能

    前言 这个项目实已经在一个月前已经完成了,一直都想写一篇博客来总结这个过程中遇到的一些问题.但最近一个月来都比较忙,所以一直拖到了现在. 首先说说起因吧,我没事的时候,总喜欢依次点开学校主页.教务处. ...

  7. mysql级联删除_近百道MySQL面试题和答案(2020收藏版)(完结篇)

    7. 什么是死锁?怎么解决? 死锁是指两个或多个事务在同一资源上相互占用,并请求锁定对方的资源,从而导致恶性循环的现象. 常见的解决死锁的方法 1.如果不同程序会并发存取多个表,尽量约定以相同的顺序访 ...

  8. mysql数据库级联删除_怎样对数据库进行级联删除?

    众所周知,数据库软件有级联删除和更新的功能.所谓级联删除和更新是说,如果两个表之间使用了主键与外键的关系约束,当对主键表的记录进行更新或者删除操作时,如果是更新,则自动将外键表的记录自动更新,如果是删 ...

  9. mysql触发器删除同步_MySQL 触发器例子(两张表同步增加和删除)

    以下两个例子来自: http://www.cnblogs.com/nicholas_f/archive/2009/09/22/1572050.html 实测有效,但是原帖的分隔符不正确,因此稍作修改. ...

最新文章

  1. MySQL数据库中的MyISAM和InnoDB存储引擎对比
  2. Linux后台开发应该具备技能
  3. java juc包多线程编程案例:Executor入门示例
  4. 可能存在无限递归_你为什么学不会递归?读完这篇文章轻松理解递归算法
  5. tensorflow学习笔记1
  6. Redis ZSet 的几种使用场景
  7. Redis复制与可扩展集群搭建
  8. http 协议入门
  9. linux该专接本还是工作_先专接本还是先工作?
  10. php接口前端,php 接口与前端数据交互实现示例代码
  11. vi删除选中内容_vi 删除指令的使用
  12. LPC1768PWM实验
  13. 评价模型——目标权重的确定
  14. excel锁定单元格不能修改_EXCEL/WPS如何保护特定的数据不被更改?
  15. 企业怎样顺利实施ERP管理系统?
  16. Chrome开发自定义右键菜单实现快速跳转到指定页面
  17. 索引是什么,怎么确定索引
  18. 稀疏数组真心话大冒险
  19. 赠书:HTML5 Canvas 2d 编程必读的两本经典
  20. ESP8266和双向可控硅在调速调光中的应用

热门文章

  1. SuperMap iManager k8s许可模块介绍
  2. 百度 冷色008 博客园 企业微信
  3. matlab 线性回归 参数显著性,基于Matlab的栅格数据一元线性回归及显著性检验(slope趋势分析)...
  4. 大数据项目(一)————生成团购标签
  5. 骑摩托车出行防水防雾小技巧
  6. 什么是5G? 5G有多牛逼!!!!
  7. Arduino人体红外感应+继电器+蜂鸣器
  8. 微信分享链接怎么自定义标题、描述和缩略图?
  9. VMware清理磁盘空间
  10. fastclick解析与ios11.3相关bug原因分析