表结构和表数据如下:
select * from a;
select * from b;
方法一
delete a from a inner join b on a.id = b.aid where a.id = 1
再次查询两条语句,只剩下a表有一条数据
方法二
建立数据库关系图
若数据库关系图文件夹下没有东西,需要自己右键新建。
这里我只将用到的两个表添加过来。选中一个表的关系图,右键-- 关系
改成如下图所示的,修改一个,对应的另一个也会修改。
将表模拟数据完善,执行语句
delete from a where id =1
重新查询下两个语句,也会删除字表中对应的主表id的数据
方法三
CREATE TRIGGER [dbo].[trig_deleteA]
ON [dbo].[a]
for DELETE
AS
BEGIN
delete b where aid in (select id from deleted)
--不返回受影响的行数
SET NOCOUNT ON;
END
将表模拟数据完善,执行语句
delete from a where id =1
重新查询下两个语句,也会删除字表中对应的主表id的数据