SQL删除多表关联数据的三种方法
来源:互联网 发布:cgi技术软件 编辑:程序博客网 时间:2024/04/29 20:11
1.级联删除
create table a
(
id varchar(20) primary key,
password varchar(20) not null
)
create table b
(
id int identity(1,1) primary key,
name varchar(50) not null,
userId varchar(20),
foreign key (userId) references a(id) on delete cascade
)
表B创建了外码userId 对应A的主码ID,声明了级联删除
测试数据:
insert a values ('11','aaa')
insert a values('23','aaa')
insert b values('da','11')
insert b values('das','11')
insert b values('ww','23')
删除A表内id为‘11’的数据,发现B表内userId 为“11”也被数据库自动删除了
create table a
(
id varchar(20) primary key,
password varchar(20) not null
)
create table b
(
id int identity(1,1) primary key,
name varchar(50) not null,
userId varchar(20),
foreign key (userId) references a(id) on delete cascade
)
表B创建了外码userId 对应A的主码ID,声明了级联删除
测试数据:
insert a values ('11','aaa')
insert a values('23','aaa')
insert b values('da','11')
insert b values('das','11')
insert b values('ww','23')
删除A表内id为‘11’的数据,发现B表内userId 为“11”也被数据库自动删除了
delete a where id='11'
2.采用存储过程
A表:
AID Aname 主健:AID
B表:
BID BelongAID Bname 主健:BID,外健:BelongAID
C表:
CID BelongBID Cname 主健:CID,外健:BelongBID
D表:
DID BelongCID Dname 主健:DID,外健:BelongCID
其中:
A表和B表通过A.AID和B.BelongAID 创建了外健关系
B表和C表通过B.BID和C.BelongBID 创建了外健关系
C表和D表通过C.CID和D.BelongCID 创建了外健关系
3.采用触发器
- SQL删除多表关联数据的三种方法
- SQL--删除表数据的三种不同实现方法
- oracle多表关联删除的两种方法
- SQL中两个关联表批量更新数据的方法
- SQL中两个关联表批量更新数据的方法
- SQL中两个关联表批量更新数据的方法
- Linq 删除关联多表、或不关联的表 、多张表 一次性删除的方法
- 删除有外键关联的表sql语句
- 删除重复数据的三种sql写法
- MySQL删除关联表的数据
- Oracle多表关联删除记录的方法
- redis数据库删除数据的三种方法
- postgresql数据库三种删除重复数据的方法
- SQL删除所有表数据的实现方法
- SQL server表数据误删除后的恢复方法
- SQL数据库的数据快速删除方法
- 删除重复数据的sql方法
- sql删除重复数据的详细方法
- Origin null is not allowed by Access-Control-Allow-Origin
- ZOJ 3460 二分 + 二分匹配
- linux内核中两个常见宏定义
- Ubuntu下,如何解决Unable to locate package
- [Linux] Vim 撤销 回退 操作
- SQL删除多表关联数据的三种方法
- typename指定类型(Error C2143)
- 每天学点Linux--(Lunix下sat求解器zchaff的安装)
- Lucene博客分享
- 矩阵 转
- 借助PL/SQL将服务器上的oracle10数据库转移到另一台服务器上的方法
- git迁移
- TComPicYuv::create
- ASP.NET限制上传文件类型