zl程序教程

您现在的位置是:首页 >  后端

当前栏目

SQL删除多表关联数据的三种方法

方法SQL数据 删除 关联 三种 多表
2023-06-13 09:12:22 时间

大家好,又见面了,我是你们的朋友全栈君。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”也被数据库自动删除了

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.采用触发器

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/160706.html原文链接:https://javaforall.cn