sql中删除多张表中的数据

君子之风-- 2013-05-25 10:20:27
有a.b.c三张表。三张表有关联。要实现同时删除三张表中符合一个表中某一条件的数据。请问语句怎么写!
...全文
607 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
killuakidd 2013-10-18
  • 打赏
  • 举报
回复
引用 3 楼 ejason 的回复:
delete a from a,b,c where a.id=b.aid and b.id=c.bid
以前的版本是可以,2008就不可以,要分开写
sage425 2013-05-31
  • 打赏
  • 举报
回复
三张表 有关联 那么 建议你 先给表建 外键关联吧 在使用级联删除,只需要删除头表 子表会自动删除。 这中方式 对数据的唯一性 控制的很严
君子之风-- 2013-05-28
  • 打赏
  • 举报
回复
听人说可以用in来实现 ,但是具体语句怎么写就不知道了。
君子之风-- 2013-05-27
  • 打赏
  • 举报
回复
上面的三个都不行呀
MrYangkang 2013-05-27
  • 打赏
  • 举报
回复
引用 4 楼 lzg375303648 的回复:
上面的三个都不行呀
思路: 查找一个表中某一条件的数据的关联字段 分别删除 如:

declare @aid int,@bid int,@cid int
delete @aid =a.id,@bid =b.id,@cid =c.id from a,b,c 
where a.id=b.aid and b.id=c.bid and a.name = '张三'

delete from a where id=@aid;
delete from b where id=@bid;
delete from c where id=@cid;
發糞塗牆 2013-05-27
  • 打赏
  • 举报
回复
如果有外键关联,最好用级联删除
longai123 2013-05-27
  • 打赏
  • 举报
回复
drop database ......
usbusb2007 2013-05-27
  • 打赏
  • 举报
回复
根据三个表的关系,从最底层删起
EnForGrass 2013-05-25
  • 打赏
  • 举报
回复
引用 楼主 lzg375303648 的回复:
有a.b.c三张表。三张表有关联。要实现同时删除三张表中符合一个表中某一条件的数据。请问语句怎么写!
可以写个存储过程来实现
专注or全面 2013-05-25
  • 打赏
  • 举报
回复
delete from a where id='id'; delete from b where id='id'; delete from c where id='id';
铁歌 2013-05-25
  • 打赏
  • 举报
回复
delete a from a,b,c where a.id=b.aid and b.id=c.bid

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧