用触发器实现主从表关系(主表更改从表更改 )
用触发器实现的 插入 更新 删除 子表也变化
[idx] [int] IDENTITY (1, 1) NOT NULL ,
[ProductID] [int] NULL ,
[productName] [char] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[tabley] (
[idy] [int] IDENTITY (1, 1) NOT NULL ,
[ProductID] [int] NULL ,
[productname] [char] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
CREATE TRIGGER triDelete ON [dbo].[tablex]
FOR delete
AS
begin
declare @aa varchar(200)
set @aa=(select productid from deleted)
if @@rowcount>0
delete tabley where productid=@aa
end
CREATE trigger tritmp on tablex for insert
as
insert into tabley(ProductID) select i.ProductId from inserted as i where i.ProductId>100
CREATE TRIGGER triUpdate ON [dbo].[tablex]
FOR UPDATE
AS
IF UPDATE(productname)
begin
declare @aa varchar(200)
set @aa=(select productid from INSERTED)
declare @bb varchar(200)
set @bb=(select productname from INSERTED)
if (@@rowcount>0)
update tabley set productname=@bb where productid=@aa
end
insert tablex values(300,'东方')
update tablex set productname='大海' where productid=300
select * from tablex
select * from tabley
delete from tablex where productid=300
select * from tablex
select * from tabley
其实删除时也可以用外键
删除
[UserId] [int] IDENTITY (1, 1) NOT NULL ,
[name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[TABLE2] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[Userid] [int] NULL ,
[name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[TABLE2] ADD
CONSTRAINT [FK_TABLE2_TABLE1] FOREIGN KEY
(
[Userid]
) REFERENCES [dbo].[TABLE1] (
[UserId]
) ON DELETE CASCADE
GO
select * from table1
select * from table2
insert table1 values('def')
insert table2 values (5,'def')
select * from table1
select * from table2
delete from table1 where userid=5
转载于:https://www.cnblogs.com/gwazy/archive/2006/08/23/484536.html
用触发器实现主从表关系(主表更改从表更改 )相关推荐
- MYSQL中的主表和父表_主表,从表,关联表,父表,子表
一.前言 在数据库设计中,Hibernate,iBatis等ORM框架的使用中经常听说主键,外键,主表,从表,关联表,父表,子表之类的术语,弄懂它们之前的区别与联系对于数据库设计和ORM框架的学习使用 ...
- java mysql 表关系分析_数据库表的关系
表与表之间一般存在三种关系,即一对一,一对多,多对多关系. 下面分别就三种关系讲解数据库相关设计的思路和思考过程: (1)一对一关系 例如,下面的一张表,保存了人的相关信息,有男有女,要求查处所有的夫 ...
- mysql怎样区分主表从表_MySQL 主表与从表
通过上一篇随笔,笔者了解到,实体完整性是通过主键约束实现的,而参照完整性是通过外键约束实现的,两者都是为了保证数据的完整性和一致性. 主键约束比较好理解,就是主键值不能为空且不重复,已经强调好多次,所 ...
- mysql 表关系传递,mysql数据表之间数据相互传递的问题
mysql数据表之间数据相互传递的问题 近日,某操作需要从一个表(表A)读取一些数据,然后直接写入另外一个表(表B)(相当于一个备份) 平时没啥问题,某天测试MM将一些乱七八糟的数据写入后就出问题了, ...
- -day26 必备SQL和表关系及授权
day26 必备SQL和表关系及授权 课程目标:掌握开发中最常见的SQL语句和表关系及授权相关知识点. 课程概要: 必备SQL(8个必备) 表关系 授权 1. 必备SQL语句 上一节讲解了最基础SQL ...
- 03_Mysql_约束与多表关系
课程笔记Day27 约束 多表关系 第一章 约束 第01节 基础理论 1.约束概述 什么是约束呢?约束有什么作用呢? 生活当中的约束:法律的约束.道德的约束前面学习过的约束:XML当中 DTD约束.S ...
- MySQL——数据库表关系
文章目录 一. mysql数据库中常见表关系 二. 一对一关系 1. 特点 2. 示例代码 三. 一对多关系 1. 特点 2. 示例代码 四. 多对多关系 1. 特点 2. 示例代码 五. 两表关联查 ...
- 010_多表的表关系
一. 一对多表关系 1. 用户表user -- 用户的id: uid -- 用户名: username -- 密码: password -- 手机: phonecreate table `user` ...
- Django删除多对多表关系 :
删除多对多表关系 : # 删除子表与母表关联关系,让小虎不喜欢任何颜色 # 写法1: child_obj = Child.objects.get(name="apollo") co ...
最新文章
- C语言的32个关键字
- 领先微软技术咨询公司招聘技术人员
- centos下排查vsftpd出现put零字节问题的记录
- 职校计算机课堂评课标准,中职学校计算机专业课堂教学评价(共2323字).doc
- 有家创业公司花重金要请我当CTO?!
- SQL73 考试分数(二)
- servlet-servletContext简述
- c语言中static 用法
- linux下tomcat缓存磁盘文件,Linux环境下清理Tomcat缓存
- 移动终端开发详解总结(一)(kotlin版)| CSDN创作打卡
- HPUX 无法启动 卡在EVN_MC_INITIATED
- ffmpeg/ffplay 添加实时的时间水印
- CFG保护机制校验逻辑分析
- Desperate Housewife 1-1
- doceker使用教程(一)
- 云存储和云计算之间是什么关系?
- Node.js - 自我总结
- 第5次作业+037+吴烨倩
- Eclipse插件AngularJS Eclipse 1.2.0离线安装包
- Latex 画图x, y轴格式
热门文章
- mysql数值处理函数exp_mysql数值函数
- CNN与Transformer结合,东南大学提出新架构 ConvTransformer
- 9张图带你领略AI态势!
- k-means算法原理及实战
- 饿了么java_eleme-openapi-java-sdk
- php执行先后顺序_PHP程序执行的过程原理
- RedisTemplate设置过期时间
- VSCODE 10个高效开发插件
- java 测试工具 oracle_SwingBench---ORACLE压力测试工具
- html5 制作商品显示介绍,HTML5+CSS3:3D展示商品信息示例